From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Jan Kratochvil To: git-commits@fedoraproject.org Subject: [rpms/gdb] gdb-17.2-rebase-f44: Rebase to FSF GDB 7.7.91.20140721 (pre-7.8 snapshot). Date: Sat, 27 Jun 2026 23:56:44 GMT Message-ID: <178260460417.1.9647602628505906091.rpms-gdb-a972d47b4c2f@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: gdb-17.2-rebase-f44 X-Git-Rev: a972d47b4c2f40fb5a7564a83e13ea31349bcc54 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2RiCiAgICAgICAgICAgIEJyYW5jaCA6IGdkYi0xNy4yLXJlYmFzZS1mNDQK ICAgICAgICAgICAgQ29tbWl0IDogYTk3MmQ0N2I0YzJmNDBmYjVhNzU2NGE4M2UxM2VhMzEzNDli Y2M1NAogICAgICAgICAgICBBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxA cmVkaGF0LmNvbT4KICAgICAgICAgICAgRGF0ZSAgIDogMjAxNC0wNy0yMlQyMDozODozOCswMjow MAogICAgICAgICAgICBTdGF0cyAgOiArMTgxMS8tMTU5MCBpbiAxMCBmaWxlKHMpCiAgICAgICAg ICAgIFVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvZ2RiL2MvYTk3 MmQ0N2I0YzJmNDBmYjVhNzU2NGE4M2UxM2VhMzEzNDliY2M1ND9icmFuY2g9Z2RiLTE3LjItcmVi YXNlLWY0NAoKICAgICAgICAgICAgTG9nOgogICAgICAgICAgICBSZWJhc2UgdG8gRlNGIEdEQiA3 LjcuOTEuMjAxNDA3MjEgKHByZS03Ljggc25hcHNob3QpLgoKLSBSZWJhc2UgdGhlIEludGVsIFZM QSBwYXRjaHNldC4KLSBOZXcgZml4IG9mIHRoZSBvcHRpbWl6ZWQtb3V0IGVudHJ5IGRhdGEgdmFs dWVzIGNyYXNoIChCWiAxMTExOTEwKS4KLSBbdGVzdHN1aXRlXSBGaXggcGFnaW5hdGUtKi5leHAg cmFjZSBmb3IgInJlYWQxIi4KCi0tLQpkaWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5naXRpZ25v cmUKaW5kZXggMWUyNGI4NS4uYmIwZDdhNyAxMDA2NDQKLS0tIGEvLmdpdGlnbm9yZQorKysgYi8u Z2l0aWdub3JlCkBAIC0xLDIgKzEsMiBAQAogL2dkYi1saWJzdGRjKystdjMtcHl0aG9uLXIxNTU5 NzgudGFyLmJ6MgotL2dkYi03LjcuOTAuMjAxNDA3MTEudGFyLmJ6MgorL2dkYi03LjcuOTEuMjAx NDA3MjEudGFyLmJ6MgoKZGlmZiAtLWdpdCBhL2dkYi1lbnRyeWRhdGFvcHRpbWl6ZWRvdXQucGF0 Y2ggYi9nZGItZW50cnlkYXRhb3B0aW1pemVkb3V0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCBjMjhmZjNhLi4wMDAwMDAwCi0tLSBhL2dkYi1lbnRyeWRhdGFvcHRpbWl6ZWRv dXQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMDU2ICswLDAgQEAKLWh0dHA6Ly9zb3VyY2V3 YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8yMDE0LTA3L21zZzAwMjc3Lmh0bWwKLVN1YmplY3Q6IFtw YXRjaHYzXSBGaXggY3Jhc2ggb24gb3B0aW1pemVkLW91dCBlbnRyeSBkYXRhIHZhbHVlcwotCi0K LS0tRHhucTF6V1h2RkYwUTkzdgotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PXVz LWFzY2lpCi1Db250ZW50LURpc3Bvc2l0aW9uOiBpbmxpbmUKLQotT24gV2VkLCAwOSBKdWwgMjAx NCAxNzozMToyMSArMDIwMCwgSmFuIEtyYXRvY2h2aWwgd3JvdGU6Ci0+IE9uIFdlZCwgMDkgSnVs IDIwMTQgMTM6NTI6MDAgKzAyMDAsIFBlZHJvIEFsdmVzIHdyb3RlOgotPiA+IE9uIDA3LzA5LzIw MTQgMTE6MzMgQU0sIEphbiBLcmF0b2NodmlsIHdyb3RlOgotPiA+ID4gLS0tIGEvZ2RiL3ZhbHVl LmMKLT4gPiA+ICsrKyBiL2dkYi92YWx1ZS5jCi0+ID4gPiBAQCAtMTk4LDEyICsxOTgsMTMgQEAg c3RydWN0IHZhbHVlCi0+ID4gPiAgICB1bnNpZ25lZCBpbnQgbGF6eSA6IDE7Ci0+ID4gPiAgCi0+ ID4gPiAgICAvKiBJZiBub256ZXJvLCB0aGlzIGlzIHRoZSB2YWx1ZSBvZiBhIHZhcmlhYmxlIHRo YXQgZG9lcyBub3QKLT4gPiA+IC0gICAgIGFjdHVhbGx5IGV4aXN0IGluIHRoZSBwcm9ncmFtLiAg SWYgbm9uemVybywgYW5kIExWQUwgaXMKLT4gPiA+ICsgICAgIGFjdHVhbGx5IGZ1bGx5IGV4aXN0 IGluIHRoZSBwcm9ncmFtLiAgSWYgbm9uemVybywgYW5kIExWQUwgaXMKLT4gPiA+ICAgICAgIGx2 YWxfcmVnaXN0ZXIsIHRoaXMgaXMgYSByZWdpc3RlciAoJHBjLCAkc3AsIGV0Yy4sIG5ldmVyIGEK LT4gPiA+ICAgICAgIHByb2dyYW0gdmFyaWFibGUpIHRoYXQgaGFzIG5vdCBiZWVuIHNhdmVkIGlu IHRoZSBmcmFtZS4gIEFsbAotPiA+ID4gICAgICAgb3B0aW1pemVkLW91dCB2YWx1ZXMgYXJlIHRy ZWF0ZWQgcHJldHR5IG11Y2ggdGhlIHNhbWUsIGV4Y2VwdAotPiA+ID4gICAgICAgcmVnaXN0ZXJz IGhhdmUgYSBkaWZmZXJlbnQgc3RyaW5nIHJlcHJlc2VudGF0aW9uIGFuZCByZWxhdGVkCi0+ID4g PiAtICAgICBlcnJvciBzdHJpbmdzLiAgKi8KLT4gPiA+ICsgICAgIGVycm9yIHN0cmluZ3MuICBJ dCBpcyB0cnVlIGFsc28gZm9yIG9ubHkgcGFydGlhbGx5IG9wdGltaXplZAotPiA+ID4gKyAgICAg b3V0IHZhcmlhYmxlcyAtIHNlZSB0aGUgJ3VuYXZhaWxhYmxlJyBmaWVsZCBiZWxvdy4gICovCi0+ ID4gPiAgICB1bnNpZ25lZCBpbnQgb3B0aW1pemVkX291dCA6IDE7Ci0+ID4gPiAgCi0+ID4gPiAg ICAvKiBJZiB2YWx1ZSBpcyBhIHZhcmlhYmxlLCBpcyBpdCBpbml0aWFsaXplZCBvciBub3QuICAq LwotPiA+ID4gQEAgLTMzNCw3ICszMzUsMTAgQEAgc3RydWN0IHZhbHVlCi0+ID4gPiAgICAgICB2 YWxpZCBpZiBsYXp5IGlzIG5vbnplcm8uICAqLwotPiA+ID4gICAgZ2RiX2J5dGUgKmNvbnRlbnRz OwotPiA+ID4gIAotPiA+ID4gLSAgLyogVW5hdmFpbGFibGUgcmFuZ2VzIGluIENPTlRFTlRTLiAg V2UgbWFyayB1bmF2YWlsYWJsZSByYW5nZXMsCi0+ID4gPiArICAvKiBJZiBPUFRJTUlaRURfT1VU IGlzIGZhbHNlIHRoZW4gVU5BVkFJTEFCTEUgbXVzdCBiZSBWRUNfZW1wdHkKLT4gPiA+ICsgICAg IChub3QgbmVjZXNzYXJpbHkgTlVMTCkuICAKLT4gPiAKLT4gPiBIbW0sIHdoeT8gIFdlIGNhbiBj b2xsZWN0IG9ubHkgcGFydCBvZiBhIG5vbi1vcHRpbWl6ZWQgb3V0IHZhbHVlLgotPiA+IFdoYXQg YW0gSSBtaXNzaW5nPwotPiAKLT4gSSBtaXNzIHNvbWUgZG9jdW1lbnRhdGlvbiBob3cgdGhlc2Ug YXZhaWxhYmlsaXR5IGZpZWxkcyBpbnRlcmFjdCB0b2dldGhlci4KLQotPkZyb20gYSBjb21tZW50 IGluIG1haWwKLQlNZXNzYWdlLUlkOiA8MjAxMTAyMDcxNDI3LjU1OTcwLnBlZHJvQGNvZGVzb3Vy Y2VyeS5jb20+Ci0JV2UgZ2l2ZSBwcmVmZXJlbmNlIHRvIHByaW50aW5nIDxvcHRpbWl6ZWQgb3V0 PiByYXRoZXIKLQl0aGFuIDx1bmF2YWlsYWJsZT4sIHNpbmNlIGlmIGEgdmFsdWUgaGFkIGJlZW4g b3B0aW1pemVkIG91dAotCWF0IGNvbXBpbGUgdGltZSwgaXQgY2FuIG5ldmVyIGJlIGNvbGxlY3Rl ZCBhdCBydW4tdGltZS4KLQotaXQgc2VlbXMgaXQgaXMganVzdCByZXZlcnNlZCwgdGhhdCAndW5h dmFpbGFibGUnIGNhbiBleGlzdCBvbmx5IGZvcgotIW9wdGltaXplZF9vdXQgYW5kIGl0IGNhbm5v dCBleGlzdCBmb3IgZm9yIG9wdGltaXplZF9vdXQgdmFsdWVzLgotCi0KLT4gWW91IGFyZSByaWdo dCwgdGhpcyBwYXRjaCByZWdyZXNzZXMgZHVyaW5nIGdkYnNlcnZlciBtb2RlLgotCi1JdCBQQVNT ZXMgbm93IGV2ZW4gaW4gZ2Ric2VydmVyIG1vZGUuCi0KLQotVGhhbmtzLAotSmFuCi0KLS0tRHhu cTF6V1h2RkYwUTkzdgotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PXVzLWFzY2lp Ci1Db250ZW50LURpc3Bvc2l0aW9uOiBpbmxpbmU7IGZpbGVuYW1lPSJvcHRpbWZpeDMucGF0Y2gi Ci0KLWdkYi8KLTIwMTQtMDctMDkgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVk aGF0LmNvbT4KLQotCSogdmFsdWUuYyAoc3RydWN0IHZhbHVlKTogRXh0ZW5kIHRoZSBjb21tZW50 IGZvciBmaWVsZHMgb3B0aW1pemVkX291dAotCWFuZCB1bmF2YWlsYWJsZS4KLQkodmFsdWVfYXZh aWxhYmxlX2NvbnRlbnRzX2JpdHNfZXEpOiBIYW5kbGUgT1BUSU1JWkVEX09VVCB2YWx1ZXMgYXMK LQlzcGVjaWFsIGNhc2VzLgotCi1nZGIvdGVzdHN1aXRlLwotMjAxNC0wNy0wOSAgSmFuIEtyYXRv Y2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgotCi0JKiBnZGIuYXJjaC9hbWQ2NC1l bnRyeS12YWx1ZS1wYXJhbXJlZi5TOiBOZXcgZmlsZS4KLQkqIGdkYi5hcmNoL2FtZDY0LWVudHJ5 LXZhbHVlLXBhcmFtcmVmLmNjOiBOZXcgZmlsZS4KLQkqIGdkYi5hcmNoL2FtZDY0LWVudHJ5LXZh bHVlLXBhcmFtcmVmLmV4cDogTmV3IGZpbGUuCi0JKiBnZGIuYXJjaC9hbWQ2NC1vcHRpbW91dC1y ZXBlYXQuUzogTmV3IGZpbGUuCi0JKiBnZGIuYXJjaC9hbWQ2NC1vcHRpbW91dC1yZXBlYXQuYzog TmV3IGZpbGUuCi0JKiBnZGIuYXJjaC9hbWQ2NC1vcHRpbW91dC1yZXBlYXQuZXhwOiBOZXcgZmls ZS4KLQotZGlmZiAtLWdpdCBhL2dkYi92YWx1ZS5jIGIvZ2RiL3ZhbHVlLmMKLWluZGV4IDU1NzA1 NmYuLmMwMTdjNzUgMTAwNjQ0Ci0tLS0gYS9nZGIvdmFsdWUuYwotKysrIGIvZ2RiL3ZhbHVlLmMK LUBAIC0xOTgsMTIgKzE5OCwxNCBAQCBzdHJ1Y3QgdmFsdWUKLSAgIHVuc2lnbmVkIGludCBsYXp5 IDogMTsKLSAKLSAgIC8qIElmIG5vbnplcm8sIHRoaXMgaXMgdGhlIHZhbHVlIG9mIGEgdmFyaWFi bGUgdGhhdCBkb2VzIG5vdAotLSAgICAgYWN0dWFsbHkgZXhpc3QgaW4gdGhlIHByb2dyYW0uICBJ ZiBub256ZXJvLCBhbmQgTFZBTCBpcwotKyAgICAgYWN0dWFsbHkgZXhpc3QgaW4gdGhlIHByb2dy YW0gYXQgYWxsLiAgSWYgbm9uemVybywgYW5kIExWQUwgaXMKLSAgICAgIGx2YWxfcmVnaXN0ZXIs IHRoaXMgaXMgYSByZWdpc3RlciAoJHBjLCAkc3AsIGV0Yy4sIG5ldmVyIGEKLSAgICAgIHByb2dy YW0gdmFyaWFibGUpIHRoYXQgaGFzIG5vdCBiZWVuIHNhdmVkIGluIHRoZSBmcmFtZS4gIEFsbAot ICAgICAgb3B0aW1pemVkLW91dCB2YWx1ZXMgYXJlIHRyZWF0ZWQgcHJldHR5IG11Y2ggdGhlIHNh bWUsIGV4Y2VwdAotICAgICAgcmVnaXN0ZXJzIGhhdmUgYSBkaWZmZXJlbnQgc3RyaW5nIHJlcHJl c2VudGF0aW9uIGFuZCByZWxhdGVkCi0tICAgICBlcnJvciBzdHJpbmdzLiAgKi8KLSsgICAgIGVy cm9yIHN0cmluZ3MuICBXaGVuIGl0IGlzIHplcm8gaXQgc3RpbGwgbWF5YmUgb25seSBwYXJ0aWFs bHkKLSsgICAgIGF2YWlsYWJsZSAoZXF1YWxseSBwYXJ0aWFsbHkgb3B0aW1pemVkIG91dCkgLSBz ZWUgdGhlCi0rICAgICAndW5hdmFpbGFibGUnIGZpZWxkIGJlbG93LiAgKi8KLSAgIHVuc2lnbmVk IGludCBvcHRpbWl6ZWRfb3V0IDogMTsKLSAKLSAgIC8qIElmIHZhbHVlIGlzIGEgdmFyaWFibGUs IGlzIGl0IGluaXRpYWxpemVkIG9yIG5vdC4gICovCi1AQCAtMzM0LDcgKzMzNiw5IEBAIHN0cnVj dCB2YWx1ZQotICAgICAgdmFsaWQgaWYgbGF6eSBpcyBub256ZXJvLiAgKi8KLSAgIGdkYl9ieXRl ICpjb250ZW50czsKLSAKLS0gIC8qIFVuYXZhaWxhYmxlIHJhbmdlcyBpbiBDT05URU5UUy4gIFdl IG1hcmsgdW5hdmFpbGFibGUgcmFuZ2VzLAotKyAgLyogSWYgT1BUSU1JWkVEX09VVCBpcyBub256 ZXJvIHRoZW4gVU5BVkFJTEFCTEUgbXVzdCBiZSBWRUNfZW1wdHkKLSsgICAgIChub3QgbmVjZXNz YXJpbHkgTlVMTCkuICBPdGhlcndpc2UgaXQgc3BlY2lmaWVzCi0rICAgICB1bmF2YWlsYWJsZSBy YW5nZXMgaW4gQ09OVEVOVFMuICBXZSBtYXJrIHVuYXZhaWxhYmxlIHJhbmdlcywKLSAgICAgIHJh dGhlciB0aGFuIGF2YWlsYWJsZSwgc2luY2UgdGhlIGNvbW1vbiBhbmQgZGVmYXVsdCBjYXNlIGlz IGZvciBhCi0gICAgICB2YWx1ZSB0byBiZSBhdmFpbGFibGUuICBUaGlzIGlzIGZpbGxlZCBpbiBh dCB2YWx1ZSByZWFkIHRpbWUuICBUaGUKLSAgICAgIHVuYXZhaWxhYmxlIHJhbmdlcyBhcmUgdHJh Y2tlZCBpbiBiaXRzLiAgKi8KLUBAIC03MDEsNiArNzA1LDEzIEBAIHZhbHVlX2F2YWlsYWJsZV9j b250ZW50c19iaXRzX2VxIChjb25zdCBzdHJ1Y3QgdmFsdWUgKnZhbDEsIGludCBvZmZzZXQxLAot ICAgLyogU2VlIGZ1bmN0aW9uIGRlc2NyaXB0aW9uIGluIHZhbHVlLmguICAqLwotICAgZ2RiX2Fz c2VydCAoIXZhbDEtPmxhenkgJiYgIXZhbDItPmxhenkpOwotIAotKyAgZ2RiX2Fzc2VydCAoIXZh bDEtPm9wdGltaXplZF9vdXQgfHwgVkVDX2VtcHR5IChyYW5nZV9zLCB2YWwxLT51bmF2YWlsYWJs ZSkpOwotKyAgZ2RiX2Fzc2VydCAoIXZhbDItPm9wdGltaXplZF9vdXQgfHwgVkVDX2VtcHR5IChy YW5nZV9zLCB2YWwyLT51bmF2YWlsYWJsZSkpOwotKyAgaWYgKHZhbDEtPm9wdGltaXplZF9vdXQg IT0gdmFsMi0+b3B0aW1pemVkX291dCkKLSsgICAgcmV0dXJuIDA7Ci0rICBpZiAodmFsMS0+b3B0 aW1pemVkX291dCAmJiB2YWwyLT5vcHRpbWl6ZWRfb3V0KQotKyAgICByZXR1cm4gMTsKLSsKLSAg IHdoaWxlIChsZW5ndGggPiAwKQotICAgICB7Ci0gICAgICAgcmFuZ2VfcyAqcjEsICpyMjsKLWRp ZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2FtZDY0LWVudHJ5LXZhbHVlLXBhcmFt cmVmLlMgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2FtZDY0LWVudHJ5LXZhbHVlLXBhcmFtcmVm LlMKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi5hMWU5ZDBhCi0tLS0gL2Rl di9udWxsCi0rKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2FtZDY0LWVudHJ5LXZhbHVlLXBh cmFtcmVmLlMKLUBAIC0wLDAgKzEsNDU5IEBACi0rLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9m IEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KLSsKLSsgICBDb3B5cmlnaHQgMjAxNCBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KLSsKLSsgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2Fy ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotKyAgIGl0IHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5 Ci0rICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0 aGUgTGljZW5zZSwgb3IKLSsgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgot KwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp bGwgYmUgdXNlZnVsLAotKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0rICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotKyAgIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0rCi0rICAgWW91IHNob3VsZCBoYXZlIHJlY2Vp dmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSsgICBhbG9uZyB3 aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5z ZXMvPi4gICovCi0rCi0rLyogVGhpcyBmaWxlIGlzIGNvbXBpbGVkIGZyb20gZ2RiLmFyY2gvYW1k NjQtZW50cnktdmFsdWUtcGFyYW1yZWYuY2MKLSsgICB1c2luZyAtZyAtZEEgLVMgLU8yLgotKyAg IEFkZGl0aW9uYWxseSBpdCBoYXMgYmVlbiBwYXRjaGVkLiAgKi8KLSsKLSsJLmZpbGUJImFtZDY0 LWVudHJ5LXZhbHVlLXBhcmFtcmVmLmNjIgotKwkudGV4dAotKy5MdGV4dDA6Ci0rCS5wMmFsaWdu IDQsLDE1Ci0rCS50eXBlCV9aTDNiYXJSaS5jb25zdHByb3AuMCwgQGZ1bmN0aW9uCi0rX1pMM2Jh clJpLmNvbnN0cHJvcC4wOgotKy5MRkIyOgotKwkuZmlsZSAxICJnZGIuYXJjaC9hbWQ2NC1lbnRy eS12YWx1ZS1wYXJhbXJlZi5jYyIKLSsJIyBnZGIuYXJjaC9hbWQ2NC1lbnRyeS12YWx1ZS1wYXJh bXJlZi5jYzoyMQotKwkubG9jIDEgMjEgMAotKwkuY2ZpX3N0YXJ0cHJvYwotKy5MVkwwOgotKyMg QkxPQ0sgMiBmcmVxOjEwMDAwIHNlcTowCi0rIyBQUkVEOiBFTlRSWSBbMTAwLjAlXSAgKEZBTExU SFJVKQotKwkjIGdkYi5hcmNoL2FtZDY0LWVudHJ5LXZhbHVlLXBhcmFtcmVmLmNjOjIzCi0rCS5s b2MgMSAyMyAwCi0rCW1vdmwJdnYoJXJpcCksICVlYXgKLSsJIyBnZGIuYXJjaC9hbWQ2NC1lbnRy eS12YWx1ZS1wYXJhbXJlZi5jYzoyNAotKwkubG9jIDEgMjQgMAotKwltb3ZxCSVyZGksIHAoJXJp cCkKLSsJIyBnZGIuYXJjaC9hbWQ2NC1lbnRyeS12YWx1ZS1wYXJhbXJlZi5jYzoyMwotKwkubG9j IDEgMjMgMAotKwlhZGRsCSQxLCAlZWF4Ci0rCW1vdmwJJWVheCwgdnYoJXJpcCkKLSsJIyBnZGIu YXJjaC9hbWQ2NC1lbnRyeS12YWx1ZS1wYXJhbXJlZi5jYzoyNQotKwkubG9jIDEgMjUgMAotKwlt b3ZsCSglcmRpKSwgJWVheAotKyMgU1VDQzogRVhJVCBbMTAwLjAlXSAKLSsJIyBnZGIuYXJjaC9h bWQ2NC1lbnRyeS12YWx1ZS1wYXJhbXJlZi5jYzoyNgotKwkubG9jIDEgMjYgMAotKwlyZXQKLSsJ LmNmaV9lbmRwcm9jCi0rLkxGRTI6Ci0rCS5zaXplCV9aTDNiYXJSaS5jb25zdHByb3AuMCwgLi1f WkwzYmFyUmkuY29uc3Rwcm9wLjAKLSsJLnNlY3Rpb24JLnRleHQuc3RhcnR1cCwiYXgiLEBwcm9n Yml0cwotKwkucDJhbGlnbiA0LCwxNQotKwkuZ2xvYmwJbWFpbgotKwkudHlwZQltYWluLCBAZnVu Y3Rpb24KLSttYWluOgotKy5MRkIxOgotKwkjIGdkYi5hcmNoL2FtZDY0LWVudHJ5LXZhbHVlLXBh cmFtcmVmLmNjOjMwCi0rCS5sb2MgMSAzMCAwCi0rCS5jZmlfc3RhcnRwcm9jCi0rIyBCTE9DSyAy IGZyZXE6MTAwMDAgc2VxOjAKLSsjIFBSRUQ6IEVOVFJZIFsxMDAuMCVdICAoRkFMTFRIUlUpCi0r CXN1YnEJJDE2LCAlcnNwCi0rCS5jZmlfZGVmX2NmYV9vZmZzZXQgMjQKLSsuTEJCMjoKLSsJIyBn ZGIuYXJjaC9hbWQ2NC1lbnRyeS12YWx1ZS1wYXJhbXJlZi5jYzozMgotKwkubG9jIDEgMzIgMAot KwlsZWFxCTEyKCVyc3ApLCAlcmRpCi0rCSMgZ2RiLmFyY2gvYW1kNjQtZW50cnktdmFsdWUtcGFy YW1yZWYuY2M6MzEKLSsJLmxvYyAxIDMxIDAKLSsJbW92bAkkMTAsIDEyKCVyc3ApCi0rCSMgZ2Ri LmFyY2gvYW1kNjQtZW50cnktdmFsdWUtcGFyYW1yZWYuY2M6MzIKLSsJLmxvYyAxIDMyIDAKLSsJ Y2FsbAlfWkwzYmFyUmkuY29uc3Rwcm9wLjAKLSsuTFZMMToKLSsuTEJFMjoKLSsJIyBnZGIuYXJj aC9hbWQ2NC1lbnRyeS12YWx1ZS1wYXJhbXJlZi5jYzozMwotKwkubG9jIDEgMzMgMAotKwlhZGRx CSQxNiwgJXJzcAotKwkuY2ZpX2RlZl9jZmFfb2Zmc2V0IDgKLSsjIFNVQ0M6IEVYSVQgWzEwMC4w JV0gCi0rCXJldAotKwkuY2ZpX2VuZHByb2MKLSsuTEZFMToKLSsJLnNpemUJbWFpbiwgLi1tYWlu Ci0rCS5nbG9ibAlwCi0rCS5ic3MKLSsJLmFsaWduIDgKLSsJLnR5cGUJcCwgQG9iamVjdAotKwku c2l6ZQlwLCA4Ci0rcDoKLSsJLnplcm8JOAotKwkuZ2xvYmwJdnYKLSsJLmFsaWduIDQKLSsJLnR5 cGUJdnYsIEBvYmplY3QKLSsJLnNpemUJdnYsIDQKLSt2djoKLSsJLnplcm8JNAotKwkudGV4dAot Ky5MZXRleHQwOgotKwkuc2VjdGlvbgkuZGVidWdfaW5mbywiIixAcHJvZ2JpdHMKLSsuTGRlYnVn X2luZm8wOgotKwkubG9uZwkuTGluZm9fZW5kIC0gLkxpbmZvX3N0YXJ0CSMgTGVuZ3RoIG9mIENv bXBpbGF0aW9uIFVuaXQgSW5mbwotKy5MaW5mb19zdGFydDoKLSsJLnZhbHVlCTB4NAkjIERXQVJG IHZlcnNpb24gbnVtYmVyCi0rCS5sb25nCS5MZGVidWdfYWJicmV2MAkjIE9mZnNldCBJbnRvIEFi YnJldi4gU2VjdGlvbgotKwkuYnl0ZQkweDgJIyBQb2ludGVyIFNpemUgKGluIGJ5dGVzKQotKwku dWxlYjEyOCAweDEJIyAoRElFICgweGIpIERXX1RBR19jb21waWxlX3VuaXQpCi0rCS5sb25nCS5M QVNGMAkjIERXX0FUX3Byb2R1Y2VyOiAiR05VIEMrKyA0LjguMiAyMDEzMTIxMiAoUmVkIEhhdCA0 LjguMi03KSAtbXR1bmU9Z2VuZXJpYyAtbWFyY2g9eDg2LTY0IC1nIC1PMiIKLSsJLmJ5dGUJMHg0 CSMgRFdfQVRfbGFuZ3VhZ2UKLSsJLmxvbmcJLkxBU0YxCSMgRFdfQVRfbmFtZTogImdkYi5hcmNo L2FtZDY0LWVudHJ5LXZhbHVlLXBhcmFtcmVmLmNjIgotKwkubG9uZwkuTEFTRjIJIyBEV19BVF9j b21wX2RpcjogIiIKLSsJLmxvbmcJLkxkZWJ1Z19yYW5nZXMwKzAJIyBEV19BVF9yYW5nZXMKLSsJ LnF1YWQJMAkjIERXX0FUX2xvd19wYwotKwkubG9uZwkuTGRlYnVnX2xpbmUwCSMgRFdfQVRfc3Rt dF9saXN0Ci0rRElFMjk6CS51bGViMTI4IDB4MgkjIChESUUgKDB4MjkpIERXX1RBR19zdWJwcm9n cmFtKQotKwkuYXNjaWkgImJhclwwIgkjIERXX0FUX25hbWUKLSsJLmJ5dGUJMHgxCSMgRFdfQVRf ZGVjbF9maWxlIChnZGIuYXJjaC9hbWQ2NC1lbnRyeS12YWx1ZS1wYXJhbXJlZi5jYykKLSsJLmJ5 dGUJMHgxNQkjIERXX0FUX2RlY2xfbGluZQotKwkubG9uZwlESUU0NQkjIERXX0FUX3R5cGUKLSsJ LmJ5dGUJMHgxCSMgRFdfQVRfaW5saW5lCi0rRElFMzk6CS51bGViMTI4IDB4MwkjIChESUUgKDB4 MzkpIERXX1RBR19mb3JtYWxfcGFyYW1ldGVyKQotKwkuYXNjaWkgInJlZlwwIgkjIERXX0FUX25h bWUKLSsJLmJ5dGUJMHgxCSMgRFdfQVRfZGVjbF9maWxlIChnZGIuYXJjaC9hbWQ2NC1lbnRyeS12 YWx1ZS1wYXJhbXJlZi5jYykKLSsJLmJ5dGUJMHgxNQkjIERXX0FUX2RlY2xfbGluZQotKwkubG9u ZwlESUU0YwkjIERXX0FUX3R5cGUKLSsJLmJ5dGUJMAkjIGVuZCBvZiBjaGlsZHJlbiBvZiBESUUg MHgyOQotK0RJRTQ1OgkudWxlYjEyOCAweDQJIyAoRElFICgweDQ1KSBEV19UQUdfYmFzZV90eXBl KQotKwkuYnl0ZQkweDQJIyBEV19BVF9ieXRlX3NpemUKLSsJLmJ5dGUJMHg1CSMgRFdfQVRfZW5j b2RpbmcKLSsJLmFzY2lpICJpbnRcMCIJIyBEV19BVF9uYW1lCi0rRElFNGM6CS51bGViMTI4IDB4 NQkjIChESUUgKDB4NGMpIERXX1RBR19jb25zdF90eXBlKQotKwkubG9uZwlESUU1MQkjIERXX0FU X3R5cGUKLStESUU1MToJLnVsZWIxMjggMHg2CSMgKERJRSAoMHg1MSkgRFdfVEFHX3JlZmVyZW5j ZV90eXBlKQotKwkuYnl0ZQkweDgJIyBEV19BVF9ieXRlX3NpemUKLSsJLmxvbmcJRElFNDUJIyBE V19BVF90eXBlCi0rRElFNTc6CS51bGViMTI4IDB4NwkjIChESUUgKDB4NTcpIERXX1RBR19zdWJw cm9ncmFtKQotKwkubG9uZwlESUUyOQkjIERXX0FUX2Fic3RyYWN0X29yaWdpbgotKwkucXVhZAku TEZCMgkjIERXX0FUX2xvd19wYwotKwkucXVhZAkuTEZFMi0uTEZCMgkjIERXX0FUX2hpZ2hfcGMK LSsJLnVsZWIxMjggMHgxCSMgRFdfQVRfZnJhbWVfYmFzZQotKwkuYnl0ZQkweDljCSMgRFdfT1Bf Y2FsbF9mcmFtZV9jZmEKLSsJCQkjIERXX0FUX0dOVV9hbGxfY2FsbF9zaXRlcwotK0RJRTcyOgku dWxlYjEyOCAweDgJIyAoRElFICgweDcyKSBEV19UQUdfZm9ybWFsX3BhcmFtZXRlcikKLSsJLmxv bmcJRElFMzkJIyBEV19BVF9hYnN0cmFjdF9vcmlnaW4KLSsJLnVsZWIxMjggMHgxCSMgRFdfQVRf bG9jYXRpb24KLSsJLmJ5dGUJMHg1NQkjIERXX09QX3JlZzUKLSsJLmJ5dGUJMAkjIGVuZCBvZiBj aGlsZHJlbiBvZiBESUUgMHg1NwotK0RJRTdhOgkudWxlYjEyOCAweDkJIyAoRElFICgweDdhKSBE V19UQUdfc3VicHJvZ3JhbSkKLSsJCQkjIERXX0FUX2V4dGVybmFsCi0rCS5sb25nCS5MQVNGMwkj IERXX0FUX25hbWU6ICJtYWluIgotKwkuYnl0ZQkweDEJIyBEV19BVF9kZWNsX2ZpbGUgKGdkYi5h cmNoL2FtZDY0LWVudHJ5LXZhbHVlLXBhcmFtcmVmLmNjKQotKwkuYnl0ZQkweDFkCSMgRFdfQVRf ZGVjbF9saW5lCi0rCS5sb25nCURJRTQ1CSMgRFdfQVRfdHlwZQotKwkucXVhZAkuTEZCMQkjIERX X0FUX2xvd19wYwotKwkucXVhZAkuTEZFMS0uTEZCMQkjIERXX0FUX2hpZ2hfcGMKLSsJLnVsZWIx MjggMHgxCSMgRFdfQVRfZnJhbWVfYmFzZQotKwkuYnl0ZQkweDljCSMgRFdfT1BfY2FsbF9mcmFt ZV9jZmEKLSsJCQkjIERXX0FUX0dOVV9hbGxfY2FsbF9zaXRlcwotK0RJRTliOgkudWxlYjEyOCAw eGEJIyAoRElFICgweDliKSBEV19UQUdfbGV4aWNhbF9ibG9jaykKLSsJLnF1YWQJLkxCQjIJIyBE V19BVF9sb3dfcGMKLSsJLnF1YWQJLkxCRTItLkxCQjIJIyBEV19BVF9oaWdoX3BjCi0rRElFYWM6 CS51bGViMTI4IDB4YgkjIChESUUgKDB4YWMpIERXX1RBR192YXJpYWJsZSkKLSsJLmFzY2lpICJ2 YXJcMCIJIyBEV19BVF9uYW1lCi0rCS5ieXRlCTB4MQkjIERXX0FUX2RlY2xfZmlsZSAoZ2RiLmFy Y2gvYW1kNjQtZW50cnktdmFsdWUtcGFyYW1yZWYuY2MpCi0rCS5ieXRlCTB4MWYJIyBEV19BVF9k ZWNsX2xpbmUKLSsJLmxvbmcJRElFNDUJIyBEV19BVF90eXBlCi0rCS51bGViMTI4IDB4MgkjIERX X0FUX2xvY2F0aW9uCi0rCS5ieXRlCTB4OTEJIyBEV19PUF9mYnJlZwotKwkuc2xlYjEyOCAtMTIK LStESUViYToJLnVsZWIxMjggMHhjCSMgKERJRSAoMHhiYSkgRFdfVEFHX0dOVV9jYWxsX3NpdGUp Ci0rCS5xdWFkCS5MVkwxCSMgRFdfQVRfbG93X3BjCi0rCS5sb25nCURJRTU3CSMgRFdfQVRfYWJz dHJhY3Rfb3JpZ2luCi0rRElFYzc6CS51bGViMTI4IDB4ZAkjIChESUUgKDB4YzcpIERXX1RBR19H TlVfY2FsbF9zaXRlX3BhcmFtZXRlcikKLSsJLnVsZWIxMjggMHgxCSMgRFdfQVRfbG9jYXRpb24K LSsJLmJ5dGUJMHg1NQkjIERXX09QX3JlZzUKLSsJLnVsZWIxMjggMHgyCSMgRFdfQVRfR05VX2Nh bGxfc2l0ZV92YWx1ZQotKwkuYnl0ZQkweDkxCSMgRFdfT1BfZmJyZWcKLSsJLnNsZWIxMjggLTEy Ci0rI2lmIDAKLSsJLnVsZWIxMjggMHgxCSMgRFdfQVRfR05VX2NhbGxfc2l0ZV9kYXRhX3ZhbHVl Ci0rCS5ieXRlCTB4M2EJIyBEV19PUF9saXQxMAotKyNlbHNlCi0rCS51bGViMTI4IDFmIC0gMmYJ IyBEV19BVF9HTlVfY2FsbF9zaXRlX2RhdGFfdmFsdWUKLSsyOgotKwkuYnl0ZQkweGYzCSMgRFdf T1BfR05VX2VudHJ5X3ZhbHVlCi0rCS51bGViMTI4IDFmIC0gM2YKLSszOgotKwkuYnl0ZQkweDU1 CSMgRFdfT1BfcmVnNQotKzE6Ci0rI2VuZGlmCi0rCS5ieXRlCTAJIyBlbmQgb2YgY2hpbGRyZW4g b2YgRElFIDB4YmEKLSsJLmJ5dGUJMAkjIGVuZCBvZiBjaGlsZHJlbiBvZiBESUUgMHg5YgotKwku Ynl0ZQkwCSMgZW5kIG9mIGNoaWxkcmVuIG9mIERJRSAweDdhCi0rRElFZDI6CS51bGViMTI4IDB4 ZQkjIChESUUgKDB4ZDIpIERXX1RBR192YXJpYWJsZSkKLSsJLmFzY2lpICJ2dlwwIgkjIERXX0FU X25hbWUKLSsJLmJ5dGUJMHgxCSMgRFdfQVRfZGVjbF9maWxlIChnZGIuYXJjaC9hbWQ2NC1lbnRy eS12YWx1ZS1wYXJhbXJlZi5jYykKLSsJLmJ5dGUJMHgxMgkjIERXX0FUX2RlY2xfbGluZQotKwku bG9uZwlESUVlNgkjIERXX0FUX3R5cGUKLSsJCQkjIERXX0FUX2V4dGVybmFsCi0rCS51bGViMTI4 IDB4OQkjIERXX0FUX2xvY2F0aW9uCi0rCS5ieXRlCTB4MwkjIERXX09QX2FkZHIKLSsJLnF1YWQJ dnYKLStESUVlNjoJLnVsZWIxMjggMHhmCSMgKERJRSAoMHhlNikgRFdfVEFHX3ZvbGF0aWxlX3R5 cGUpCi0rCS5sb25nCURJRTQ1CSMgRFdfQVRfdHlwZQotK0RJRWViOgkudWxlYjEyOCAweGUJIyAo RElFICgweGViKSBEV19UQUdfdmFyaWFibGUpCi0rCS5hc2NpaSAicFwwIgkjIERXX0FUX25hbWUK LSsJLmJ5dGUJMHgxCSMgRFdfQVRfZGVjbF9maWxlIChnZGIuYXJjaC9hbWQ2NC1lbnRyeS12YWx1 ZS1wYXJhbXJlZi5jYykKLSsJLmJ5dGUJMHgxMgkjIERXX0FUX2RlY2xfbGluZQotKwkubG9uZwlE SUVmZQkjIERXX0FUX3R5cGUKLSsJCQkjIERXX0FUX2V4dGVybmFsCi0rCS51bGViMTI4IDB4OQkj IERXX0FUX2xvY2F0aW9uCi0rCS5ieXRlCTB4MwkjIERXX09QX2FkZHIKLSsJLnF1YWQJcAotK0RJ RWZlOgkudWxlYjEyOCAweDEwCSMgKERJRSAoMHhmZSkgRFdfVEFHX3BvaW50ZXJfdHlwZSkKLSsJ LmJ5dGUJMHg4CSMgRFdfQVRfYnl0ZV9zaXplCi0rCS5sb25nCURJRWU2CSMgRFdfQVRfdHlwZQot KwkuYnl0ZQkwCSMgZW5kIG9mIGNoaWxkcmVuIG9mIERJRSAweGIKLSsuTGluZm9fZW5kOgotKwku c2VjdGlvbgkuZGVidWdfYWJicmV2LCIiLEBwcm9nYml0cwotKy5MZGVidWdfYWJicmV2MDoKLSsJ LnVsZWIxMjggMHgxCSMgKGFiYnJldiBjb2RlKQotKwkudWxlYjEyOCAweDExCSMgKFRBRzogRFdf VEFHX2NvbXBpbGVfdW5pdCkKLSsJLmJ5dGUJMHgxCSMgRFdfY2hpbGRyZW5feWVzCi0rCS51bGVi MTI4IDB4MjUJIyAoRFdfQVRfcHJvZHVjZXIpCi0rCS51bGViMTI4IDB4ZQkjIChEV19GT1JNX3N0 cnApCi0rCS51bGViMTI4IDB4MTMJIyAoRFdfQVRfbGFuZ3VhZ2UpCi0rCS51bGViMTI4IDB4Ygkj IChEV19GT1JNX2RhdGExKQotKwkudWxlYjEyOCAweDMJIyAoRFdfQVRfbmFtZSkKLSsJLnVsZWIx MjggMHhlCSMgKERXX0ZPUk1fc3RycCkKLSsJLnVsZWIxMjggMHgxYgkjIChEV19BVF9jb21wX2Rp cikKLSsJLnVsZWIxMjggMHhlCSMgKERXX0ZPUk1fc3RycCkKLSsJLnVsZWIxMjggMHg1NQkjIChE V19BVF9yYW5nZXMpCi0rCS51bGViMTI4IDB4MTcJIyAoRFdfRk9STV9zZWNfb2Zmc2V0KQotKwku dWxlYjEyOCAweDExCSMgKERXX0FUX2xvd19wYykKLSsJLnVsZWIxMjggMHgxCSMgKERXX0ZPUk1f YWRkcikKLSsJLnVsZWIxMjggMHgxMAkjIChEV19BVF9zdG10X2xpc3QpCi0rCS51bGViMTI4IDB4 MTcJIyAoRFdfRk9STV9zZWNfb2Zmc2V0KQotKwkuYnl0ZQkwCi0rCS5ieXRlCTAKLSsJLnVsZWIx MjggMHgyCSMgKGFiYnJldiBjb2RlKQotKwkudWxlYjEyOCAweDJlCSMgKFRBRzogRFdfVEFHX3N1 YnByb2dyYW0pCi0rCS5ieXRlCTB4MQkjIERXX2NoaWxkcmVuX3llcwotKwkudWxlYjEyOCAweDMJ IyAoRFdfQVRfbmFtZSkKLSsJLnVsZWIxMjggMHg4CSMgKERXX0ZPUk1fc3RyaW5nKQotKwkudWxl YjEyOCAweDNhCSMgKERXX0FUX2RlY2xfZmlsZSkKLSsJLnVsZWIxMjggMHhiCSMgKERXX0ZPUk1f ZGF0YTEpCi0rCS51bGViMTI4IDB4M2IJIyAoRFdfQVRfZGVjbF9saW5lKQotKwkudWxlYjEyOCAw eGIJIyAoRFdfRk9STV9kYXRhMSkKLSsJLnVsZWIxMjggMHg0OQkjIChEV19BVF90eXBlKQotKwku dWxlYjEyOCAweDEzCSMgKERXX0ZPUk1fcmVmNCkKLSsJLnVsZWIxMjggMHgyMAkjIChEV19BVF9p bmxpbmUpCi0rCS51bGViMTI4IDB4YgkjIChEV19GT1JNX2RhdGExKQotKwkuYnl0ZQkwCi0rCS5i eXRlCTAKLSsJLnVsZWIxMjggMHgzCSMgKGFiYnJldiBjb2RlKQotKwkudWxlYjEyOCAweDUJIyAo VEFHOiBEV19UQUdfZm9ybWFsX3BhcmFtZXRlcikKLSsJLmJ5dGUJMAkjIERXX2NoaWxkcmVuX25v Ci0rCS51bGViMTI4IDB4MwkjIChEV19BVF9uYW1lKQotKwkudWxlYjEyOCAweDgJIyAoRFdfRk9S TV9zdHJpbmcpCi0rCS51bGViMTI4IDB4M2EJIyAoRFdfQVRfZGVjbF9maWxlKQotKwkudWxlYjEy OCAweGIJIyAoRFdfRk9STV9kYXRhMSkKLSsJLnVsZWIxMjggMHgzYgkjIChEV19BVF9kZWNsX2xp bmUpCi0rCS51bGViMTI4IDB4YgkjIChEV19GT1JNX2RhdGExKQotKwkudWxlYjEyOCAweDQ5CSMg KERXX0FUX3R5cGUpCi0rCS51bGViMTI4IDB4MTMJIyAoRFdfRk9STV9yZWY0KQotKwkuYnl0ZQkw Ci0rCS5ieXRlCTAKLSsJLnVsZWIxMjggMHg0CSMgKGFiYnJldiBjb2RlKQotKwkudWxlYjEyOCAw eDI0CSMgKFRBRzogRFdfVEFHX2Jhc2VfdHlwZSkKLSsJLmJ5dGUJMAkjIERXX2NoaWxkcmVuX25v Ci0rCS51bGViMTI4IDB4YgkjIChEV19BVF9ieXRlX3NpemUpCi0rCS51bGViMTI4IDB4YgkjIChE V19GT1JNX2RhdGExKQotKwkudWxlYjEyOCAweDNlCSMgKERXX0FUX2VuY29kaW5nKQotKwkudWxl YjEyOCAweGIJIyAoRFdfRk9STV9kYXRhMSkKLSsJLnVsZWIxMjggMHgzCSMgKERXX0FUX25hbWUp Ci0rCS51bGViMTI4IDB4OAkjIChEV19GT1JNX3N0cmluZykKLSsJLmJ5dGUJMAotKwkuYnl0ZQkw Ci0rCS51bGViMTI4IDB4NQkjIChhYmJyZXYgY29kZSkKLSsJLnVsZWIxMjggMHgyNgkjIChUQUc6 IERXX1RBR19jb25zdF90eXBlKQotKwkuYnl0ZQkwCSMgRFdfY2hpbGRyZW5fbm8KLSsJLnVsZWIx MjggMHg0OQkjIChEV19BVF90eXBlKQotKwkudWxlYjEyOCAweDEzCSMgKERXX0ZPUk1fcmVmNCkK LSsJLmJ5dGUJMAotKwkuYnl0ZQkwCi0rCS51bGViMTI4IDB4NgkjIChhYmJyZXYgY29kZSkKLSsJ LnVsZWIxMjggMHgxMAkjIChUQUc6IERXX1RBR19yZWZlcmVuY2VfdHlwZSkKLSsJLmJ5dGUJMAkj IERXX2NoaWxkcmVuX25vCi0rCS51bGViMTI4IDB4YgkjIChEV19BVF9ieXRlX3NpemUpCi0rCS51 bGViMTI4IDB4YgkjIChEV19GT1JNX2RhdGExKQotKwkudWxlYjEyOCAweDQ5CSMgKERXX0FUX3R5 cGUpCi0rCS51bGViMTI4IDB4MTMJIyAoRFdfRk9STV9yZWY0KQotKwkuYnl0ZQkwCi0rCS5ieXRl CTAKLSsJLnVsZWIxMjggMHg3CSMgKGFiYnJldiBjb2RlKQotKwkudWxlYjEyOCAweDJlCSMgKFRB RzogRFdfVEFHX3N1YnByb2dyYW0pCi0rCS5ieXRlCTB4MQkjIERXX2NoaWxkcmVuX3llcwotKwku dWxlYjEyOCAweDMxCSMgKERXX0FUX2Fic3RyYWN0X29yaWdpbikKLSsJLnVsZWIxMjggMHgxMwkj IChEV19GT1JNX3JlZjQpCi0rCS51bGViMTI4IDB4MTEJIyAoRFdfQVRfbG93X3BjKQotKwkudWxl YjEyOCAweDEJIyAoRFdfRk9STV9hZGRyKQotKwkudWxlYjEyOCAweDEyCSMgKERXX0FUX2hpZ2hf cGMpCi0rCS51bGViMTI4IDB4NwkjIChEV19GT1JNX2RhdGE4KQotKwkudWxlYjEyOCAweDQwCSMg KERXX0FUX2ZyYW1lX2Jhc2UpCi0rCS51bGViMTI4IDB4MTgJIyAoRFdfRk9STV9leHBybG9jKQot KwkudWxlYjEyOCAweDIxMTcJIyAoRFdfQVRfR05VX2FsbF9jYWxsX3NpdGVzKQotKwkudWxlYjEy OCAweDE5CSMgKERXX0ZPUk1fZmxhZ19wcmVzZW50KQotKwkuYnl0ZQkwCi0rCS5ieXRlCTAKLSsJ LnVsZWIxMjggMHg4CSMgKGFiYnJldiBjb2RlKQotKwkudWxlYjEyOCAweDUJIyAoVEFHOiBEV19U QUdfZm9ybWFsX3BhcmFtZXRlcikKLSsJLmJ5dGUJMAkjIERXX2NoaWxkcmVuX25vCi0rCS51bGVi MTI4IDB4MzEJIyAoRFdfQVRfYWJzdHJhY3Rfb3JpZ2luKQotKwkudWxlYjEyOCAweDEzCSMgKERX X0ZPUk1fcmVmNCkKLSsJLnVsZWIxMjggMHgyCSMgKERXX0FUX2xvY2F0aW9uKQotKwkudWxlYjEy OCAweDE4CSMgKERXX0ZPUk1fZXhwcmxvYykKLSsJLmJ5dGUJMAotKwkuYnl0ZQkwCi0rCS51bGVi MTI4IDB4OQkjIChhYmJyZXYgY29kZSkKLSsJLnVsZWIxMjggMHgyZQkjIChUQUc6IERXX1RBR19z dWJwcm9ncmFtKQotKwkuYnl0ZQkweDEJIyBEV19jaGlsZHJlbl95ZXMKLSsJLnVsZWIxMjggMHgz ZgkjIChEV19BVF9leHRlcm5hbCkKLSsJLnVsZWIxMjggMHgxOQkjIChEV19GT1JNX2ZsYWdfcHJl c2VudCkKLSsJLnVsZWIxMjggMHgzCSMgKERXX0FUX25hbWUpCi0rCS51bGViMTI4IDB4ZQkjIChE V19GT1JNX3N0cnApCi0rCS51bGViMTI4IDB4M2EJIyAoRFdfQVRfZGVjbF9maWxlKQotKwkudWxl YjEyOCAweGIJIyAoRFdfRk9STV9kYXRhMSkKLSsJLnVsZWIxMjggMHgzYgkjIChEV19BVF9kZWNs X2xpbmUpCi0rCS51bGViMTI4IDB4YgkjIChEV19GT1JNX2RhdGExKQotKwkudWxlYjEyOCAweDQ5 CSMgKERXX0FUX3R5cGUpCi0rCS51bGViMTI4IDB4MTMJIyAoRFdfRk9STV9yZWY0KQotKwkudWxl YjEyOCAweDExCSMgKERXX0FUX2xvd19wYykKLSsJLnVsZWIxMjggMHgxCSMgKERXX0ZPUk1fYWRk cikKLSsJLnVsZWIxMjggMHgxMgkjIChEV19BVF9oaWdoX3BjKQotKwkudWxlYjEyOCAweDcJIyAo RFdfRk9STV9kYXRhOCkKLSsJLnVsZWIxMjggMHg0MAkjIChEV19BVF9mcmFtZV9iYXNlKQotKwku dWxlYjEyOCAweDE4CSMgKERXX0ZPUk1fZXhwcmxvYykKLSsJLnVsZWIxMjggMHgyMTE3CSMgKERX X0FUX0dOVV9hbGxfY2FsbF9zaXRlcykKLSsJLnVsZWIxMjggMHgxOQkjIChEV19GT1JNX2ZsYWdf cHJlc2VudCkKLSsJLmJ5dGUJMAotKwkuYnl0ZQkwCi0rCS51bGViMTI4IDB4YQkjIChhYmJyZXYg Y29kZSkKLSsJLnVsZWIxMjggMHhiCSMgKFRBRzogRFdfVEFHX2xleGljYWxfYmxvY2spCi0rCS5i eXRlCTB4MQkjIERXX2NoaWxkcmVuX3llcwotKwkudWxlYjEyOCAweDExCSMgKERXX0FUX2xvd19w YykKLSsJLnVsZWIxMjggMHgxCSMgKERXX0ZPUk1fYWRkcikKLSsJLnVsZWIxMjggMHgxMgkjIChE V19BVF9oaWdoX3BjKQotKwkudWxlYjEyOCAweDcJIyAoRFdfRk9STV9kYXRhOCkKLSsJLmJ5dGUJ MAotKwkuYnl0ZQkwCi0rCS51bGViMTI4IDB4YgkjIChhYmJyZXYgY29kZSkKLSsJLnVsZWIxMjgg MHgzNAkjIChUQUc6IERXX1RBR192YXJpYWJsZSkKLSsJLmJ5dGUJMAkjIERXX2NoaWxkcmVuX25v Ci0rCS51bGViMTI4IDB4MwkjIChEV19BVF9uYW1lKQotKwkudWxlYjEyOCAweDgJIyAoRFdfRk9S TV9zdHJpbmcpCi0rCS51bGViMTI4IDB4M2EJIyAoRFdfQVRfZGVjbF9maWxlKQotKwkudWxlYjEy OCAweGIJIyAoRFdfRk9STV9kYXRhMSkKLSsJLnVsZWIxMjggMHgzYgkjIChEV19BVF9kZWNsX2xp bmUpCi0rCS51bGViMTI4IDB4YgkjIChEV19GT1JNX2RhdGExKQotKwkudWxlYjEyOCAweDQ5CSMg KERXX0FUX3R5cGUpCi0rCS51bGViMTI4IDB4MTMJIyAoRFdfRk9STV9yZWY0KQotKwkudWxlYjEy OCAweDIJIyAoRFdfQVRfbG9jYXRpb24pCi0rCS51bGViMTI4IDB4MTgJIyAoRFdfRk9STV9leHBy bG9jKQotKwkuYnl0ZQkwCi0rCS5ieXRlCTAKLSsJLnVsZWIxMjggMHhjCSMgKGFiYnJldiBjb2Rl KQotKwkudWxlYjEyOCAweDQxMDkJIyAoVEFHOiBEV19UQUdfR05VX2NhbGxfc2l0ZSkKLSsJLmJ5 dGUJMHgxCSMgRFdfY2hpbGRyZW5feWVzCi0rCS51bGViMTI4IDB4MTEJIyAoRFdfQVRfbG93X3Bj KQotKwkudWxlYjEyOCAweDEJIyAoRFdfRk9STV9hZGRyKQotKwkudWxlYjEyOCAweDMxCSMgKERX X0FUX2Fic3RyYWN0X29yaWdpbikKLSsJLnVsZWIxMjggMHgxMwkjIChEV19GT1JNX3JlZjQpCi0r CS5ieXRlCTAKLSsJLmJ5dGUJMAotKwkudWxlYjEyOCAweGQJIyAoYWJicmV2IGNvZGUpCi0rCS51 bGViMTI4IDB4NDEwYQkjIChUQUc6IERXX1RBR19HTlVfY2FsbF9zaXRlX3BhcmFtZXRlcikKLSsJ LmJ5dGUJMAkjIERXX2NoaWxkcmVuX25vCi0rCS51bGViMTI4IDB4MgkjIChEV19BVF9sb2NhdGlv bikKLSsJLnVsZWIxMjggMHgxOAkjIChEV19GT1JNX2V4cHJsb2MpCi0rCS51bGViMTI4IDB4MjEx MQkjIChEV19BVF9HTlVfY2FsbF9zaXRlX3ZhbHVlKQotKwkudWxlYjEyOCAweDE4CSMgKERXX0ZP Uk1fZXhwcmxvYykKLSsJLnVsZWIxMjggMHgyMTEyCSMgKERXX0FUX0dOVV9jYWxsX3NpdGVfZGF0 YV92YWx1ZSkKLSsJLnVsZWIxMjggMHgxOAkjIChEV19GT1JNX2V4cHJsb2MpCi0rCS5ieXRlCTAK LSsJLmJ5dGUJMAotKwkudWxlYjEyOCAweGUJIyAoYWJicmV2IGNvZGUpCi0rCS51bGViMTI4IDB4 MzQJIyAoVEFHOiBEV19UQUdfdmFyaWFibGUpCi0rCS5ieXRlCTAJIyBEV19jaGlsZHJlbl9ubwot KwkudWxlYjEyOCAweDMJIyAoRFdfQVRfbmFtZSkKLSsJLnVsZWIxMjggMHg4CSMgKERXX0ZPUk1f c3RyaW5nKQotKwkudWxlYjEyOCAweDNhCSMgKERXX0FUX2RlY2xfZmlsZSkKLSsJLnVsZWIxMjgg MHhiCSMgKERXX0ZPUk1fZGF0YTEpCi0rCS51bGViMTI4IDB4M2IJIyAoRFdfQVRfZGVjbF9saW5l KQotKwkudWxlYjEyOCAweGIJIyAoRFdfRk9STV9kYXRhMSkKLSsJLnVsZWIxMjggMHg0OQkjIChE V19BVF90eXBlKQotKwkudWxlYjEyOCAweDEzCSMgKERXX0ZPUk1fcmVmNCkKLSsJLnVsZWIxMjgg MHgzZgkjIChEV19BVF9leHRlcm5hbCkKLSsJLnVsZWIxMjggMHgxOQkjIChEV19GT1JNX2ZsYWdf cHJlc2VudCkKLSsJLnVsZWIxMjggMHgyCSMgKERXX0FUX2xvY2F0aW9uKQotKwkudWxlYjEyOCAw eDE4CSMgKERXX0ZPUk1fZXhwcmxvYykKLSsJLmJ5dGUJMAotKwkuYnl0ZQkwCi0rCS51bGViMTI4 IDB4ZgkjIChhYmJyZXYgY29kZSkKLSsJLnVsZWIxMjggMHgzNQkjIChUQUc6IERXX1RBR192b2xh dGlsZV90eXBlKQotKwkuYnl0ZQkwCSMgRFdfY2hpbGRyZW5fbm8KLSsJLnVsZWIxMjggMHg0OQkj IChEV19BVF90eXBlKQotKwkudWxlYjEyOCAweDEzCSMgKERXX0ZPUk1fcmVmNCkKLSsJLmJ5dGUJ MAotKwkuYnl0ZQkwCi0rCS51bGViMTI4IDB4MTAJIyAoYWJicmV2IGNvZGUpCi0rCS51bGViMTI4 IDB4ZgkjIChUQUc6IERXX1RBR19wb2ludGVyX3R5cGUpCi0rCS5ieXRlCTAJIyBEV19jaGlsZHJl bl9ubwotKwkudWxlYjEyOCAweGIJIyAoRFdfQVRfYnl0ZV9zaXplKQotKwkudWxlYjEyOCAweGIJ IyAoRFdfRk9STV9kYXRhMSkKLSsJLnVsZWIxMjggMHg0OQkjIChEV19BVF90eXBlKQotKwkudWxl YjEyOCAweDEzCSMgKERXX0ZPUk1fcmVmNCkKLSsJLmJ5dGUJMAotKwkuYnl0ZQkwCi0rCS5ieXRl CTAKLSsJLnNlY3Rpb24JLmRlYnVnX2FyYW5nZXMsIiIsQHByb2diaXRzCi0rCS5sb25nCTB4M2MJ IyBMZW5ndGggb2YgQWRkcmVzcyBSYW5nZXMgSW5mbwotKwkudmFsdWUJMHgyCSMgRFdBUkYgVmVy c2lvbgotKwkubG9uZwkuTGRlYnVnX2luZm8wCSMgT2Zmc2V0IG9mIENvbXBpbGF0aW9uIFVuaXQg SW5mbwotKwkuYnl0ZQkweDgJIyBTaXplIG9mIEFkZHJlc3MKLSsJLmJ5dGUJMAkjIFNpemUgb2Yg U2VnbWVudCBEZXNjcmlwdG9yCi0rCS52YWx1ZQkwCSMgUGFkIHRvIDE2IGJ5dGUgYm91bmRhcnkK LSsJLnZhbHVlCTAKLSsJLnF1YWQJLkx0ZXh0MAkjIEFkZHJlc3MKLSsJLnF1YWQJLkxldGV4dDAt Lkx0ZXh0MAkjIExlbmd0aAotKwkucXVhZAkuTEZCMQkjIEFkZHJlc3MKLSsJLnF1YWQJLkxGRTEt LkxGQjEJIyBMZW5ndGgKLSsJLnF1YWQJMAotKwkucXVhZAkwCi0rCS5zZWN0aW9uCS5kZWJ1Z19y YW5nZXMsIiIsQHByb2diaXRzCi0rLkxkZWJ1Z19yYW5nZXMwOgotKwkucXVhZAkuTHRleHQwCSMg T2Zmc2V0IDAKLSsJLnF1YWQJLkxldGV4dDAKLSsJLnF1YWQJLkxGQjEJIyBPZmZzZXQgMHgxMAot KwkucXVhZAkuTEZFMQotKwkucXVhZAkwCi0rCS5xdWFkCTAKLSsJLnNlY3Rpb24JLmRlYnVnX2xp bmUsIiIsQHByb2diaXRzCi0rLkxkZWJ1Z19saW5lMDoKLSsJLnNlY3Rpb24JLmRlYnVnX3N0ciwi TVMiLEBwcm9nYml0cywxCi0rLkxBU0YxOgotKwkuc3RyaW5nCSJnZGIuYXJjaC9hbWQ2NC1lbnRy eS12YWx1ZS1wYXJhbXJlZi5jYyIKLSsuTEFTRjI6Ci0rCS5zdHJpbmcJIiIKLSsuTEFTRjA6Ci0r CS5zdHJpbmcJIkdOVSBDKysgNC44LjIgMjAxMzEyMTIgKFJlZCBIYXQgNC44LjItNykgLW10dW5l PWdlbmVyaWMgLW1hcmNoPXg4Ni02NCAtZyAtTzIiCi0rLkxBU0YzOgotKwkuc3RyaW5nCSJtYWlu IgotKwkuaWRlbnQJIkdDQzogKEdOVSkgNC44LjIgMjAxMzEyMTIgKFJlZCBIYXQgNC44LjItNyki Ci0rCS5zZWN0aW9uCS5ub3RlLkdOVS1zdGFjaywiIixAcHJvZ2JpdHMKLWRpZmYgLS1naXQgYS9n ZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2FtZDY0LWVudHJ5LXZhbHVlLXBhcmFtcmVmLmNjIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYXJjaC9hbWQ2NC1lbnRyeS12YWx1ZS1wYXJhbXJlZi5jYwotbmV3IGZp bGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLmFhNDczYTMKLS0tLSAvZGV2L251bGwKLSsr KyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvYW1kNjQtZW50cnktdmFsdWUtcGFyYW1yZWYuY2MK LUBAIC0wLDAgKzEsMzMgQEAKLSsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUg R05VIGRlYnVnZ2VyLgotKwotKyAgIENvcHlyaWdodCAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsgICB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNl LCBvcgotKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rCi0rICAgVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCi0rICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKLSsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0rICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug Zm9yIG1vcmUgZGV0YWlscy4KLSsKLSsgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5 IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyAgIGFsb25nIHdpdGggdGhpcyBw cm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8K LSsKLSt2b2xhdGlsZSBpbnQgdnYsICpwOwotKwotK3N0YXRpYyBfX2F0dHJpYnV0ZV9fKChub2lu bGluZSkpIGludAotK2JhciAoaW50ICZyZWYpCi0rewotKyAgdnYrKzsgLyogYnJlYWstaGVyZSAq LwotKyAgcCA9ICZyZWY7Ci0rICByZXR1cm4gcmVmOwotK30KLSsKLStpbnQKLSttYWluICh2b2lk KQotK3sKLSsgIGludCB2YXIgPSAxMDsKLSsgIHJldHVybiBiYXIgKHZhcik7Ci0rfQotZGlmZiAt LWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvYW1kNjQtZW50cnktdmFsdWUtcGFyYW1yZWYu ZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9hbWQ2NC1lbnRyeS12YWx1ZS1wYXJhbXJlZi5l eHAKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi5mMDYyNDdkCi0tLS0gL2Rl di9udWxsCi0rKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2FtZDY0LWVudHJ5LXZhbHVlLXBh cmFtcmVmLmV4cAotQEAgLTAsMCArMSwzNSBAQAotKyMgQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotKyMKLSsjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rIyBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hl ZCBieQotKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBv ZiB0aGUgTGljZW5zZSwgb3IKLSsjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u Ci0rIwotKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsCi0rIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotKyMgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsjCi0rIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2 ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyMgYWxvbmcgd2l0 aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2Vz Lz4uCi0rCi0rc3RhbmRhcmRfdGVzdGZpbGUgLlMgLmNjCi0rCi0raWYgeyAhW2lzdGFyZ2V0IHg4 Nl82NC0qLSogXSB8fCAhW2lzX2xwNjRfdGFyZ2V0XSB9IHsKLSsgICAgdmVyYm9zZSAiU2tpcHBp bmcgYW1kNjQtZW50cnktdmFsdWUtcGFyYW1yZWYuIgotKyAgICByZXR1cm4KLSt9Ci0rCi0raWYg eyBbcHJlcGFyZV9mb3JfdGVzdGluZyAke3Rlc3RmaWxlfS5leHAgJHt0ZXN0ZmlsZX0gJHtzcmNm aWxlfSAiYysrIl0gfSB7Ci0rICAgIHJldHVybiAtMQotK30KLSsKLStpZiAhW3J1bnRvX21haW5d IHsKLSsgICAgcmV0dXJuIC0xCi0rfQotKwotK3NldCBzcmNmaWxlICRzcmNmaWxlMgotK2dkYl9i cmVha3BvaW50IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJicmVhay1oZXJlIl0KLSsKLStnZGJfY29u dGludWVfdG9fYnJlYWtwb2ludCAiYnJlYWstaGVyZSIgIi4qIGJyZWFrLWhlcmUgLioiCi0rZ2Ri X3Rlc3QgImZyYW1lIiB7YmFyIFwocmVmPUAweFswLTlhLWZdKzogMTAsIHJlZkBlbnRyeT1AMHhb MC05YS1mXSs6IDxvcHRpbWl6ZWQgb3V0PlwpIGF0IC4qfQotZGlmZiAtLWdpdCBhL2dkYi90ZXN0 c3VpdGUvZ2RiLmFyY2gvYW1kNjQtb3B0aW1vdXQtcmVwZWF0LlMgYi9nZGIvdGVzdHN1aXRlL2dk Yi5hcmNoL2FtZDY0LW9wdGltb3V0LXJlcGVhdC5TCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5k ZXggMDAwMDAwMC4uMmY4ZjRkMgotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYXJjaC9hbWQ2NC1vcHRpbW91dC1yZXBlYXQuUwotQEAgLTAsMCArMSwyOTcgQEAKLSsvKiBU aGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgotKwotKyAgIENv cHlyaWdodCAyMDEyLTIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0rCi0rICAg VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu ZC9vciBtb2RpZnkKLSsgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0rICAgKGF0IHlvdXIg b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSsKLSsgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSsgICBidXQgV0lUSE9V VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotKyAg IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZSB0aGUKLSsgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgot KwotKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlCi0rICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNl ZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLwotKwotKy8qIFRoaXMgZmlsZSBp cyBjb21waWxlZCBmcm9tIGdkYi5hcmNoL2FtZDY0LWVudHJ5LXZhbHVlLXBhcmFtLmMKLSsgICB1 c2luZyAtZyAtZEEgLVMgLU8yLiAgKi8KLSsKLSsJLmZpbGUJImFtZDY0LW9wdGltb3V0LXJlcGVh dC5jIgotKwkudGV4dAotKy5MdGV4dDA6Ci0rCS5zZWN0aW9uCS50ZXh0LnVubGlrZWx5LCJheCIs QHByb2diaXRzCi0rLkxDT0xEQjA6Ci0rCS5zZWN0aW9uCS50ZXh0LnN0YXJ0dXAsImF4IixAcHJv Z2JpdHMKLSsuTEhPVEIwOgotKwkucDJhbGlnbiA0LCwxNQotKwkuc2VjdGlvbgkudGV4dC51bmxp a2VseQotKy5MdGV4dF9jb2xkMDoKLSsJLnNlY3Rpb24JLnRleHQuc3RhcnR1cAotKwkuZ2xvYmwJ bWFpbgotKwkudHlwZQltYWluLCBAZnVuY3Rpb24KLSttYWluOgotKy5MRkIwOgotKwkuZmlsZSAx ICJnZGIuYXJjaC9hbWQ2NC1vcHRpbW91dC1yZXBlYXQuYyIKLSsJIyBnZGIuYXJjaC9hbWQ2NC1v cHRpbW91dC1yZXBlYXQuYzoyMAotKwkubG9jIDEgMjAgMAotKwkuY2ZpX3N0YXJ0cHJvYwotKyMg QkxPQ0sgMiBmcmVxOjEwMDAwIHNlcTowCi0rIyBQUkVEOiBFTlRSWSBbMTAwLjAlXSAgKEZBTExU SFJVKQotKy5MVkwwOgotKwkjIGdkYi5hcmNoL2FtZDY0LW9wdGltb3V0LXJlcGVhdC5jOjI5Ci0r CS5sb2MgMSAyOSAwCi0rCXhvcmwJJWVheCwgJWVheAotKyMgU1VDQzogRVhJVCBbMTAwLjAlXSAK LSsJcmV0Ci0rCS5jZmlfZW5kcHJvYwotKy5MRkUwOgotKwkuc2l6ZQltYWluLCAuLW1haW4KLSsJ LnNlY3Rpb24JLnRleHQudW5saWtlbHkKLSsuTENPTERFMDoKLSsJLnNlY3Rpb24JLnRleHQuc3Rh cnR1cAotKy5MSE9URTA6Ci0rCS50ZXh0Ci0rLkxldGV4dDA6Ci0rCS5zZWN0aW9uCS50ZXh0LnVu bGlrZWx5Ci0rLkxldGV4dF9jb2xkMDoKLSsJLnNlY3Rpb24JLmRlYnVnX2luZm8sIiIsQHByb2di aXRzCi0rLkxkZWJ1Z19pbmZvMDoKLSsJLmxvbmcJMHg5NwkjIExlbmd0aCBvZiBDb21waWxhdGlv biBVbml0IEluZm8KLSsJLnZhbHVlCTB4NAkjIERXQVJGIHZlcnNpb24gbnVtYmVyCi0rCS5sb25n CS5MZGVidWdfYWJicmV2MAkjIE9mZnNldCBJbnRvIEFiYnJldi4gU2VjdGlvbgotKwkuYnl0ZQkw eDgJIyBQb2ludGVyIFNpemUgKGluIGJ5dGVzKQotKwkudWxlYjEyOCAweDEJIyAoRElFICgweGIp IERXX1RBR19jb21waWxlX3VuaXQpCi0rCS5sb25nCS5MQVNGMQkjIERXX0FUX3Byb2R1Y2VyOiAi R05VIEMgNC45LjEgMjAxNDA3MDkgKHByZXJlbGVhc2UpIC1tdHVuZT1nZW5lcmljIC1tYXJjaD14 ODYtNjQgLWcgLU8yIgotKwkuYnl0ZQkweDEJIyBEV19BVF9sYW5ndWFnZQotKwkubG9uZwkuTEFT RjIJIyBEV19BVF9uYW1lOiAiZ2RiLmFyY2gvYW1kNjQtb3B0aW1vdXQtcmVwZWF0LmMiCi0rCS5s b25nCS5MQVNGMwkjIERXX0FUX2NvbXBfZGlyOiAiIgotKwkubG9uZwkuTGRlYnVnX3JhbmdlczAr MAkjIERXX0FUX3JhbmdlcwotKwkucXVhZAkwCSMgRFdfQVRfbG93X3BjCi0rCS5sb25nCS5MZGVi dWdfbGluZTAJIyBEV19BVF9zdG10X2xpc3QKLSsJLnVsZWIxMjggMHgyCSMgKERJRSAoMHgyOSkg RFdfVEFHX3N1YnByb2dyYW0pCi0rCQkJIyBEV19BVF9leHRlcm5hbAotKwkubG9uZwkuTEFTRjQJ IyBEV19BVF9uYW1lOiAibWFpbiIKLSsJLmJ5dGUJMHgxCSMgRFdfQVRfZGVjbF9maWxlIChnZGIu YXJjaC9hbWQ2NC1vcHRpbW91dC1yZXBlYXQuYykKLSsJLmJ5dGUJMHgxMwkjIERXX0FUX2RlY2xf bGluZQotKwkJCSMgRFdfQVRfcHJvdG90eXBlZAotKwkubG9uZwkweDdjCSMgRFdfQVRfdHlwZQot KwkucXVhZAkuTEZCMAkjIERXX0FUX2xvd19wYwotKwkucXVhZAkuTEZFMC0uTEZCMAkjIERXX0FU X2hpZ2hfcGMKLSsJLnVsZWIxMjggMHgxCSMgRFdfQVRfZnJhbWVfYmFzZQotKwkuYnl0ZQkweDlj CSMgRFdfT1BfY2FsbF9mcmFtZV9jZmEKLSsJCQkjIERXX0FUX0dOVV9hbGxfY2FsbF9zaXRlcwot KwkubG9uZwkweDdjCSMgRFdfQVRfc2libGluZwotKwkudWxlYjEyOCAweDMJIyAoRElFICgweDRh KSBEV19UQUdfc3RydWN0dXJlX3R5cGUpCi0rCS52YWx1ZQkweDQwNAkjIERXX0FUX2J5dGVfc2l6 ZQotKwkuYnl0ZQkweDEJIyBEV19BVF9kZWNsX2ZpbGUgKGdkYi5hcmNoL2FtZDY0LW9wdGltb3V0 LXJlcGVhdC5jKQotKwkuYnl0ZQkweDE1CSMgRFdfQVRfZGVjbF9saW5lCi0rCS5sb25nCTB4NmEJ IyBEV19BVF9zaWJsaW5nCi0rCS51bGViMTI4IDB4NAkjIChESUUgKDB4NTMpIERXX1RBR19tZW1i ZXIpCi0rCS5hc2NpaSAiaVwwIgkjIERXX0FUX25hbWUKLSsJLmJ5dGUJMHgxCSMgRFdfQVRfZGVj bF9maWxlIChnZGIuYXJjaC9hbWQ2NC1vcHRpbW91dC1yZXBlYXQuYykKLSsJLmJ5dGUJMHgxNwkj IERXX0FUX2RlY2xfbGluZQotKwkubG9uZwkweDdjCSMgRFdfQVRfdHlwZQotKwkuYnl0ZQkwCSMg RFdfQVRfZGF0YV9tZW1iZXJfbG9jYXRpb24KLSsJLnVsZWIxMjggMHg0CSMgKERJRSAoMHg1ZCkg RFdfVEFHX21lbWJlcikKLSsJLmFzY2lpICJ4eHhcMCIJIyBEV19BVF9uYW1lCi0rCS5ieXRlCTB4 MQkjIERXX0FUX2RlY2xfZmlsZSAoZ2RiLmFyY2gvYW1kNjQtb3B0aW1vdXQtcmVwZWF0LmMpCi0r CS5ieXRlCTB4MTgJIyBEV19BVF9kZWNsX2xpbmUKLSsJLmxvbmcJMHg4MwkjIERXX0FUX3R5cGUK LSsJLmJ5dGUJMHg0CSMgRFdfQVRfZGF0YV9tZW1iZXJfbG9jYXRpb24KLSsJLmJ5dGUJMAkjIGVu ZCBvZiBjaGlsZHJlbiBvZiBESUUgMHg0YQotKwkudWxlYjEyOCAweDUJIyAoRElFICgweDZhKSBE V19UQUdfdmFyaWFibGUpCi0rCS5hc2NpaSAidlwwIgkjIERXX0FUX25hbWUKLSsJLmJ5dGUJMHgx CSMgRFdfQVRfZGVjbF9maWxlIChnZGIuYXJjaC9hbWQ2NC1vcHRpbW91dC1yZXBlYXQuYykKLSsJ LmJ5dGUJMHgxYQkjIERXX0FUX2RlY2xfbGluZQotKwkubG9uZwkweDRhCSMgRFdfQVRfdHlwZQot KwkudWxlYjEyOCAweDcJIyBEV19BVF9sb2NhdGlvbgotKwkuYnl0ZQkweDMwCSMgRFdfT1BfbGl0 MAotKwkuYnl0ZQkweDlmCSMgRFdfT1Bfc3RhY2tfdmFsdWUKLSsJLmJ5dGUJMHg5MwkjIERXX09Q X3BpZWNlCi0rCS51bGViMTI4IDB4NAotKwkuYnl0ZQkweDkzCSMgRFdfT1BfcGllY2UKLSsJLnVs ZWIxMjggMHg0MDAKLSsJLmJ5dGUJMAkjIGVuZCBvZiBjaGlsZHJlbiBvZiBESUUgMHgyOQotKwku dWxlYjEyOCAweDYJIyAoRElFICgweDdjKSBEV19UQUdfYmFzZV90eXBlKQotKwkuYnl0ZQkweDQJ IyBEV19BVF9ieXRlX3NpemUKLSsJLmJ5dGUJMHg1CSMgRFdfQVRfZW5jb2RpbmcKLSsJLmFzY2lp ICJpbnRcMCIJIyBEV19BVF9uYW1lCi0rCS51bGViMTI4IDB4NwkjIChESUUgKDB4ODMpIERXX1RB R19hcnJheV90eXBlKQotKwkubG9uZwkweDdjCSMgRFdfQVRfdHlwZQotKwkubG9uZwkweDkzCSMg RFdfQVRfc2libGluZwotKwkudWxlYjEyOCAweDgJIyAoRElFICgweDhjKSBEV19UQUdfc3VicmFu Z2VfdHlwZSkKLSsJLmxvbmcJMHg5MwkjIERXX0FUX3R5cGUKLSsJLmJ5dGUJMHhmZgkjIERXX0FU X3VwcGVyX2JvdW5kCi0rCS5ieXRlCTAJIyBlbmQgb2YgY2hpbGRyZW4gb2YgRElFIDB4ODMKLSsJ LnVsZWIxMjggMHg5CSMgKERJRSAoMHg5MykgRFdfVEFHX2Jhc2VfdHlwZSkKLSsJLmJ5dGUJMHg4 CSMgRFdfQVRfYnl0ZV9zaXplCi0rCS5ieXRlCTB4NwkjIERXX0FUX2VuY29kaW5nCi0rCS5sb25n CS5MQVNGMAkjIERXX0FUX25hbWU6ICJzaXpldHlwZSIKLSsJLmJ5dGUJMAkjIGVuZCBvZiBjaGls ZHJlbiBvZiBESUUgMHhiCi0rCS5zZWN0aW9uCS5kZWJ1Z19hYmJyZXYsIiIsQHByb2diaXRzCi0r LkxkZWJ1Z19hYmJyZXYwOgotKwkudWxlYjEyOCAweDEJIyAoYWJicmV2IGNvZGUpCi0rCS51bGVi MTI4IDB4MTEJIyAoVEFHOiBEV19UQUdfY29tcGlsZV91bml0KQotKwkuYnl0ZQkweDEJIyBEV19j aGlsZHJlbl95ZXMKLSsJLnVsZWIxMjggMHgyNQkjIChEV19BVF9wcm9kdWNlcikKLSsJLnVsZWIx MjggMHhlCSMgKERXX0ZPUk1fc3RycCkKLSsJLnVsZWIxMjggMHgxMwkjIChEV19BVF9sYW5ndWFn ZSkKLSsJLnVsZWIxMjggMHhiCSMgKERXX0ZPUk1fZGF0YTEpCi0rCS51bGViMTI4IDB4MwkjIChE V19BVF9uYW1lKQotKwkudWxlYjEyOCAweGUJIyAoRFdfRk9STV9zdHJwKQotKwkudWxlYjEyOCAw eDFiCSMgKERXX0FUX2NvbXBfZGlyKQotKwkudWxlYjEyOCAweGUJIyAoRFdfRk9STV9zdHJwKQot KwkudWxlYjEyOCAweDU1CSMgKERXX0FUX3JhbmdlcykKLSsJLnVsZWIxMjggMHgxNwkjIChEV19G T1JNX3NlY19vZmZzZXQpCi0rCS51bGViMTI4IDB4MTEJIyAoRFdfQVRfbG93X3BjKQotKwkudWxl YjEyOCAweDEJIyAoRFdfRk9STV9hZGRyKQotKwkudWxlYjEyOCAweDEwCSMgKERXX0FUX3N0bXRf bGlzdCkKLSsJLnVsZWIxMjggMHgxNwkjIChEV19GT1JNX3NlY19vZmZzZXQpCi0rCS5ieXRlCTAK LSsJLmJ5dGUJMAotKwkudWxlYjEyOCAweDIJIyAoYWJicmV2IGNvZGUpCi0rCS51bGViMTI4IDB4 MmUJIyAoVEFHOiBEV19UQUdfc3VicHJvZ3JhbSkKLSsJLmJ5dGUJMHgxCSMgRFdfY2hpbGRyZW5f eWVzCi0rCS51bGViMTI4IDB4M2YJIyAoRFdfQVRfZXh0ZXJuYWwpCi0rCS51bGViMTI4IDB4MTkJ IyAoRFdfRk9STV9mbGFnX3ByZXNlbnQpCi0rCS51bGViMTI4IDB4MwkjIChEV19BVF9uYW1lKQot KwkudWxlYjEyOCAweGUJIyAoRFdfRk9STV9zdHJwKQotKwkudWxlYjEyOCAweDNhCSMgKERXX0FU X2RlY2xfZmlsZSkKLSsJLnVsZWIxMjggMHhiCSMgKERXX0ZPUk1fZGF0YTEpCi0rCS51bGViMTI4 IDB4M2IJIyAoRFdfQVRfZGVjbF9saW5lKQotKwkudWxlYjEyOCAweGIJIyAoRFdfRk9STV9kYXRh MSkKLSsJLnVsZWIxMjggMHgyNwkjIChEV19BVF9wcm90b3R5cGVkKQotKwkudWxlYjEyOCAweDE5 CSMgKERXX0ZPUk1fZmxhZ19wcmVzZW50KQotKwkudWxlYjEyOCAweDQ5CSMgKERXX0FUX3R5cGUp Ci0rCS51bGViMTI4IDB4MTMJIyAoRFdfRk9STV9yZWY0KQotKwkudWxlYjEyOCAweDExCSMgKERX X0FUX2xvd19wYykKLSsJLnVsZWIxMjggMHgxCSMgKERXX0ZPUk1fYWRkcikKLSsJLnVsZWIxMjgg MHgxMgkjIChEV19BVF9oaWdoX3BjKQotKwkudWxlYjEyOCAweDcJIyAoRFdfRk9STV9kYXRhOCkK LSsJLnVsZWIxMjggMHg0MAkjIChEV19BVF9mcmFtZV9iYXNlKQotKwkudWxlYjEyOCAweDE4CSMg KERXX0ZPUk1fZXhwcmxvYykKLSsJLnVsZWIxMjggMHgyMTE3CSMgKERXX0FUX0dOVV9hbGxfY2Fs bF9zaXRlcykKLSsJLnVsZWIxMjggMHgxOQkjIChEV19GT1JNX2ZsYWdfcHJlc2VudCkKLSsJLnVs ZWIxMjggMHgxCSMgKERXX0FUX3NpYmxpbmcpCi0rCS51bGViMTI4IDB4MTMJIyAoRFdfRk9STV9y ZWY0KQotKwkuYnl0ZQkwCi0rCS5ieXRlCTAKLSsJLnVsZWIxMjggMHgzCSMgKGFiYnJldiBjb2Rl KQotKwkudWxlYjEyOCAweDEzCSMgKFRBRzogRFdfVEFHX3N0cnVjdHVyZV90eXBlKQotKwkuYnl0 ZQkweDEJIyBEV19jaGlsZHJlbl95ZXMKLSsJLnVsZWIxMjggMHhiCSMgKERXX0FUX2J5dGVfc2l6 ZSkKLSsJLnVsZWIxMjggMHg1CSMgKERXX0ZPUk1fZGF0YTIpCi0rCS51bGViMTI4IDB4M2EJIyAo RFdfQVRfZGVjbF9maWxlKQotKwkudWxlYjEyOCAweGIJIyAoRFdfRk9STV9kYXRhMSkKLSsJLnVs ZWIxMjggMHgzYgkjIChEV19BVF9kZWNsX2xpbmUpCi0rCS51bGViMTI4IDB4YgkjIChEV19GT1JN X2RhdGExKQotKwkudWxlYjEyOCAweDEJIyAoRFdfQVRfc2libGluZykKLSsJLnVsZWIxMjggMHgx MwkjIChEV19GT1JNX3JlZjQpCi0rCS5ieXRlCTAKLSsJLmJ5dGUJMAotKwkudWxlYjEyOCAweDQJ IyAoYWJicmV2IGNvZGUpCi0rCS51bGViMTI4IDB4ZAkjIChUQUc6IERXX1RBR19tZW1iZXIpCi0r CS5ieXRlCTAJIyBEV19jaGlsZHJlbl9ubwotKwkudWxlYjEyOCAweDMJIyAoRFdfQVRfbmFtZSkK LSsJLnVsZWIxMjggMHg4CSMgKERXX0ZPUk1fc3RyaW5nKQotKwkudWxlYjEyOCAweDNhCSMgKERX X0FUX2RlY2xfZmlsZSkKLSsJLnVsZWIxMjggMHhiCSMgKERXX0ZPUk1fZGF0YTEpCi0rCS51bGVi MTI4IDB4M2IJIyAoRFdfQVRfZGVjbF9saW5lKQotKwkudWxlYjEyOCAweGIJIyAoRFdfRk9STV9k YXRhMSkKLSsJLnVsZWIxMjggMHg0OQkjIChEV19BVF90eXBlKQotKwkudWxlYjEyOCAweDEzCSMg KERXX0ZPUk1fcmVmNCkKLSsJLnVsZWIxMjggMHgzOAkjIChEV19BVF9kYXRhX21lbWJlcl9sb2Nh dGlvbikKLSsJLnVsZWIxMjggMHhiCSMgKERXX0ZPUk1fZGF0YTEpCi0rCS5ieXRlCTAKLSsJLmJ5 dGUJMAotKwkudWxlYjEyOCAweDUJIyAoYWJicmV2IGNvZGUpCi0rCS51bGViMTI4IDB4MzQJIyAo VEFHOiBEV19UQUdfdmFyaWFibGUpCi0rCS5ieXRlCTAJIyBEV19jaGlsZHJlbl9ubwotKwkudWxl YjEyOCAweDMJIyAoRFdfQVRfbmFtZSkKLSsJLnVsZWIxMjggMHg4CSMgKERXX0ZPUk1fc3RyaW5n KQotKwkudWxlYjEyOCAweDNhCSMgKERXX0FUX2RlY2xfZmlsZSkKLSsJLnVsZWIxMjggMHhiCSMg KERXX0ZPUk1fZGF0YTEpCi0rCS51bGViMTI4IDB4M2IJIyAoRFdfQVRfZGVjbF9saW5lKQotKwku dWxlYjEyOCAweGIJIyAoRFdfRk9STV9kYXRhMSkKLSsJLnVsZWIxMjggMHg0OQkjIChEV19BVF90 eXBlKQotKwkudWxlYjEyOCAweDEzCSMgKERXX0ZPUk1fcmVmNCkKLSsJLnVsZWIxMjggMHgyCSMg KERXX0FUX2xvY2F0aW9uKQotKwkudWxlYjEyOCAweDE4CSMgKERXX0ZPUk1fZXhwcmxvYykKLSsJ LmJ5dGUJMAotKwkuYnl0ZQkwCi0rCS51bGViMTI4IDB4NgkjIChhYmJyZXYgY29kZSkKLSsJLnVs ZWIxMjggMHgyNAkjIChUQUc6IERXX1RBR19iYXNlX3R5cGUpCi0rCS5ieXRlCTAJIyBEV19jaGls ZHJlbl9ubwotKwkudWxlYjEyOCAweGIJIyAoRFdfQVRfYnl0ZV9zaXplKQotKwkudWxlYjEyOCAw eGIJIyAoRFdfRk9STV9kYXRhMSkKLSsJLnVsZWIxMjggMHgzZQkjIChEV19BVF9lbmNvZGluZykK LSsJLnVsZWIxMjggMHhiCSMgKERXX0ZPUk1fZGF0YTEpCi0rCS51bGViMTI4IDB4MwkjIChEV19B VF9uYW1lKQotKwkudWxlYjEyOCAweDgJIyAoRFdfRk9STV9zdHJpbmcpCi0rCS5ieXRlCTAKLSsJ LmJ5dGUJMAotKwkudWxlYjEyOCAweDcJIyAoYWJicmV2IGNvZGUpCi0rCS51bGViMTI4IDB4MQkj IChUQUc6IERXX1RBR19hcnJheV90eXBlKQotKwkuYnl0ZQkweDEJIyBEV19jaGlsZHJlbl95ZXMK LSsJLnVsZWIxMjggMHg0OQkjIChEV19BVF90eXBlKQotKwkudWxlYjEyOCAweDEzCSMgKERXX0ZP Uk1fcmVmNCkKLSsJLnVsZWIxMjggMHgxCSMgKERXX0FUX3NpYmxpbmcpCi0rCS51bGViMTI4IDB4 MTMJIyAoRFdfRk9STV9yZWY0KQotKwkuYnl0ZQkwCi0rCS5ieXRlCTAKLSsJLnVsZWIxMjggMHg4 CSMgKGFiYnJldiBjb2RlKQotKwkudWxlYjEyOCAweDIxCSMgKFRBRzogRFdfVEFHX3N1YnJhbmdl X3R5cGUpCi0rCS5ieXRlCTAJIyBEV19jaGlsZHJlbl9ubwotKwkudWxlYjEyOCAweDQ5CSMgKERX X0FUX3R5cGUpCi0rCS51bGViMTI4IDB4MTMJIyAoRFdfRk9STV9yZWY0KQotKwkudWxlYjEyOCAw eDJmCSMgKERXX0FUX3VwcGVyX2JvdW5kKQotKwkudWxlYjEyOCAweGIJIyAoRFdfRk9STV9kYXRh MSkKLSsJLmJ5dGUJMAotKwkuYnl0ZQkwCi0rCS51bGViMTI4IDB4OQkjIChhYmJyZXYgY29kZSkK LSsJLnVsZWIxMjggMHgyNAkjIChUQUc6IERXX1RBR19iYXNlX3R5cGUpCi0rCS5ieXRlCTAJIyBE V19jaGlsZHJlbl9ubwotKwkudWxlYjEyOCAweGIJIyAoRFdfQVRfYnl0ZV9zaXplKQotKwkudWxl YjEyOCAweGIJIyAoRFdfRk9STV9kYXRhMSkKLSsJLnVsZWIxMjggMHgzZQkjIChEV19BVF9lbmNv ZGluZykKLSsJLnVsZWIxMjggMHhiCSMgKERXX0ZPUk1fZGF0YTEpCi0rCS51bGViMTI4IDB4Mwkj IChEV19BVF9uYW1lKQotKwkudWxlYjEyOCAweGUJIyAoRFdfRk9STV9zdHJwKQotKwkuYnl0ZQkw Ci0rCS5ieXRlCTAKLSsJLmJ5dGUJMAotKwkuc2VjdGlvbgkuZGVidWdfYXJhbmdlcywiIixAcHJv Z2JpdHMKLSsJLmxvbmcJMHgyYwkjIExlbmd0aCBvZiBBZGRyZXNzIFJhbmdlcyBJbmZvCi0rCS52 YWx1ZQkweDIJIyBEV0FSRiBWZXJzaW9uCi0rCS5sb25nCS5MZGVidWdfaW5mbzAJIyBPZmZzZXQg b2YgQ29tcGlsYXRpb24gVW5pdCBJbmZvCi0rCS5ieXRlCTB4OAkjIFNpemUgb2YgQWRkcmVzcwot KwkuYnl0ZQkwCSMgU2l6ZSBvZiBTZWdtZW50IERlc2NyaXB0b3IKLSsJLnZhbHVlCTAJIyBQYWQg dG8gMTYgYnl0ZSBib3VuZGFyeQotKwkudmFsdWUJMAotKwkucXVhZAkuTEZCMAkjIEFkZHJlc3MK LSsJLnF1YWQJLkxGRTAtLkxGQjAJIyBMZW5ndGgKLSsJLnF1YWQJMAotKwkucXVhZAkwCi0rCS5z ZWN0aW9uCS5kZWJ1Z19yYW5nZXMsIiIsQHByb2diaXRzCi0rLkxkZWJ1Z19yYW5nZXMwOgotKwku cXVhZAkuTEZCMAkjIE9mZnNldCAwCi0rCS5xdWFkCS5MRkUwCi0rCS5xdWFkCTAKLSsJLnF1YWQJ MAotKwkuc2VjdGlvbgkuZGVidWdfbGluZSwiIixAcHJvZ2JpdHMKLSsuTGRlYnVnX2xpbmUwOgot Kwkuc2VjdGlvbgkuZGVidWdfc3RyLCJNUyIsQHByb2diaXRzLDEKLSsuTEFTRjA6Ci0rCS5zdHJp bmcJInNpemV0eXBlIgotKy5MQVNGMjoKLSsJLnN0cmluZwkiZ2RiLmFyY2gvYW1kNjQtb3B0aW1v dXQtcmVwZWF0LmMiCi0rLkxBU0YxOgotKwkuc3RyaW5nCSJHTlUgQyA0LjkuMSAyMDE0MDcwOSAo cHJlcmVsZWFzZSkgLW10dW5lPWdlbmVyaWMgLW1hcmNoPXg4Ni02NCAtZyAtTzIiCi0rLkxBU0Yz OgotKwkuc3RyaW5nCSIiCi0rLkxBU0Y0OgotKwkuc3RyaW5nCSJtYWluIgotKwkuaWRlbnQJIkdD QzogKEdOVSkgNC45LjEgMjAxNDA3MDkgKHByZXJlbGVhc2UpIgotKwkuc2VjdGlvbgkubm90ZS5H TlUtc3RhY2ssIiIsQHByb2diaXRzCi1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJj aC9hbWQ2NC1vcHRpbW91dC1yZXBlYXQuYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvYW1kNjQt b3B0aW1vdXQtcmVwZWF0LmMKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi5h MzJiNmRlCi0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2FtZDY0 LW9wdGltb3V0LXJlcGVhdC5jCi1AQCAtMCwwICsxLDI5IEBACi0rLyogVGhpcyB0ZXN0Y2FzZSBp cyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KLSsKLSsgICBDb3B5cmlnaHQgMjAxNCBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsKLSsgICBUaGlzIHByb2dyYW0gaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotKyAgIGl0 IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVi bGlzaGVkIGJ5Ci0rICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNp b24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSsgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2 ZXJzaW9uLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0 aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0rICAgTUVSQ0hBTlRBQklMSVRZIG9y IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotKyAgIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0rCi0rICAgWW91IHNob3VsZCBo YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSsg ICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5v cmcvbGljZW5zZXMvPi4gICovCi0rCi0raW50Ci0rbWFpbiAodm9pZCkKLSt7Ci0rICBzdHJ1Y3QK LSsgICAgewotKyAgICAgIGludCBpOwotKyAgICAgIGludCB4eHhbMHgxMDBdOwotKyAgICB9Ci0r ICB2ID0geyAwIH07Ci0rCi0rICByZXR1cm4gdi5pOwotK30KLWRpZmYgLS1naXQgYS9nZGIvdGVz dHN1aXRlL2dkYi5hcmNoL2FtZDY0LW9wdGltb3V0LXJlcGVhdC5leHAgYi9nZGIvdGVzdHN1aXRl L2dkYi5hcmNoL2FtZDY0LW9wdGltb3V0LXJlcGVhdC5leHAKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0 Ci1pbmRleCAwMDAwMDAwLi5mM2M5M2E0Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIvdGVzdHN1 aXRlL2dkYi5hcmNoL2FtZDY0LW9wdGltb3V0LXJlcGVhdC5leHAKLUBAIC0wLDAgKzEsMzYgQEAK LSsjIENvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsj Ci0rIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yIG1vZGlmeQotKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsjIHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0rIyAoYXQgeW91 ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKyMKLSsjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0 cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyMgYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSsj IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZSB0aGUKLSsjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0r IwotKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UKLSsjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUg PGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgotKwotK3N0YW5kYXJkX3Rlc3RmaWxlIC5T IC5jCi0rc2V0IG9wdHMge30KLSsKLStpZiBbaW5mbyBleGlzdHMgQ09NUElMRV0gewotKyAgICAj IG1ha2UgY2hlY2sgUlVOVEVTVEZMQUdTPSJnZGIuYXJjaC9hbWQ2NC1vcHRpbW91dC1yZXBlYXQu ZXhwIENPTVBJTEU9MSIKLSsgICAgc2V0IHNyY2ZpbGUgJHtzcmNmaWxlMn0KLSsgICAgbGFwcGVu ZCBvcHRzIGRlYnVnIG9wdGltaXplPS1PMgotK30gZWxzZWlmIHsgIVtpc3RhcmdldCB4ODZfNjQt Ki0qIF0gfHwgIVtpc19scDY0X3RhcmdldF0gfSB7Ci0rICAgIHZlcmJvc2UgIlNraXBwaW5nIGFt ZDY0LW9wdGltb3V0LXJlcGVhdC4iCi0rICAgIHJldHVybgotK30KLSsKLStpZiB7IFtwcmVwYXJl X2Zvcl90ZXN0aW5nICR7dGVzdGZpbGV9LmV4cCAke3Rlc3RmaWxlfSAke3NyY2ZpbGV9ICRvcHRz XSB9IHsKLSsgICAgcmV0dXJuIC0xCi0rfQotKwotK2lmICFbcnVudG9fbWFpbl0gewotKyAgICBy ZXR1cm4gLTEKLSt9Ci0rCi0rZ2RiX3Rlc3QgInByaW50IHYiIHsgPSB7aSA9IDAsIHh4eCA9IHs8 b3B0aW1pemVkIG91dD4gPHJlcGVhdHMgMjU2IHRpbWVzPn19fQotCi0tLUR4bnExeldYdkZGMFE5 M3YtLQotCgpkaWZmIC0tZ2l0IGEvZ2RiLWVudHJ5dmFsLWNyYXNoLTFvZjMucGF0Y2ggYi9nZGIt ZW50cnl2YWwtY3Jhc2gtMW9mMy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi41OGZkMzRjCi0tLSAvZGV2L251bGwKKysrIGIvZ2RiLWVudHJ5dmFsLWNyYXNoLTFvZjMu cGF0Y2gKQEAgLTAsMCArMSwxOTQgQEAKK2h0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGItcGF0 Y2hlcy8yMDE0LTA3L21zZzAwNTMwLmh0bWwKK1N1YmplY3Q6IFtyZWFkX2ZyYW1lX2FyZyBwYXRj aF0gSGFuZGxlIHBhcnRpYWxseSBvcHRpbWl6ZWQgb3V0IHZhbHVlcyBzaW1pbGFybHkgdG8gdW5h dmFpbGFibGUgdmFsdWVzIChSZTogW3BhdGNodjJdIEZpeCBjcmFzaCBvbiBvcHRpbWl6ZWQtb3V0 IGVudHJ5IGRhdGEgdmFsdWVzKQorCisKKy0tVjg4czVnYURWUHpaMEtDcQorQ29udGVudC1UeXBl OiB0ZXh0L3BsYWluOyBjaGFyc2V0PXVzLWFzY2lpCitDb250ZW50LURpc3Bvc2l0aW9uOiBpbmxp bmUKKworT24gVGh1LCAxNyBKdWwgMjAxNCAxNDoyMzowNiArMDIwMCwgUGVkcm8gQWx2ZXMgd3Jv dGU6Cis+IE9uIDA3LzE2LzIwMTQgMTA6NTggUE0sIEphbiBLcmF0b2NodmlsIHdyb3RlOgorPiA+ IFRoaXMgcGF0Y2ggaXMgYXBwYXJlbnRseSBub3Qgc3VpdGFibGUgZm9yIGdkYi03Ljggd2hpY2gg aXMgSSBndWVzcyBvZnRlbgorPiA+IGNyYXNoaW5nIG9uIC1PMiAtZyBlbnRyeSB2YWx1ZXMgc28g dGhlcmUgY291bGQgYmUgc29tZSByYXRoZXIgbWluaW1hbCBjcmFzaAorPiA+IGF2b2lkaW5nIHBh dGNoIGluc3RlYWQuCis+IAorPiBZZWFoLgorPiAKKz4gU28gdGhpcyB3YXMgb3JpZ2luYWxseSAi Y2F1c2VkIiAobW9yZSBleHBvc2VkKSBieSA0ZjE0OTEwZjoKKz4gICAgIAorPiAgICAgICAgIGdk Yi9DaGFuZ2VMb2cKKz4gICAgICAgICAyMDEzLTExLTI2ICBBbmRyZXcgQnVyZ2VzcyAgPGFidXJn ZXNzQGJyb2FkY29tLmNvbT4KKz4gICAgIAorPiAgICAgICAgICAgICAqIHZhbHVlLmMgKGFsbG9j YXRlX29wdGltaXplZF9vdXRfdmFsdWUpOiBNYXJrIHZhbHVlIGFzIG5vbi1sYXp5LgorPiAKKz4g SSB0cmllZCBhIGZldyBhcHByb2FjaGVzIGluIHZhbHVlX2F2YWlsYWJsZV9jb250ZW50c19lcQor PiB0b2RheSwgYW5kIGVuZGVkIHVwIHRoaW5raW5nIHRoYXQgdGhlIHNpbXBsZXN0IHNob3VsZCBi ZSB0bworPiBqdXN0IHJldmVydCB0aGF0IHBhdGNoIHVudGlsIHdlIGhhdmUgdGhlIGZ1bGxlciBm aXggaW4gcGxhY2UuCisKK09LLCB0aGF0IHNlZW1zIGFzIHRoZSBiZXN0IHNvbHV0aW9uIGZvciA3 LjggdG8gbWUuCisKKworPiBXaGlsZSBkb2luZyBqdXN0IHRoYXQgZml4ZXMgdGhlIGNyYXNoLCBp dCBzdXJwcmlzaW5nbHkgY2F1c2VzCis+IG9uZSBvZiB5b3VyIG5ldyB0ZXN0cyB0byBGQUlMOgor PiAKKz4gIChnZGIpIGZyYW1lCis+ICAjMCAgYmFyIChyZWY9cmVmQGVudHJ5PUAweDdmZmZmZmZm ZDE4NDogMTApIGF0IGdkYi5hcmNoL2FtZDY0LWVudHJ5LXZhbHVlLXBhcmFtcmVmLmNjOjIzCis+ ICAyMyAgICAgICAgdnYrKzsgLyogYnJlYWstaGVyZSAqLworPiAgKGdkYikgRkFJTDogZ2RiLmFy Y2gvYW1kNjQtZW50cnktdmFsdWUtcGFyYW1yZWYuZXhwOiBmcmFtZQorCitUaGVyZSBpcyBhIGJ1 ZyBpbiB0aGF0IGVudHJ5IHZhbHVlIGNvZGUgb2YgbWluZSwgZml4IGF0dGFjaGVkLgorVGhlIHRl c3RjYXNlIHRoZW4gUEFTU2VzIHdpdGggdGhlIHJldmVydGVkIG9wdGltaXphdGlvbiBieSBBbmRy ZXcgQnVyZ2Vzcy4KKworRm9yIHRoZSBhdHRhY2hlZCBmaXggLSBpZiB5b3Ugbml0cGljayB0aGUg bWlzc2luZyBjb25kaXRpb25hbCBjYXNlOgorCXZhbHVlX29wdGltaXplZF9vdXQgKHZhbF9kZXJl ZikgJiYgdmFsdWVfb3B0aW1pemVkX291dCAoZW50cnl2YWxfZGVyZWYpCitJdCBpcyBub3QgZGV0 ZWN0ZWQgdGhlcmUgYnV0IHRoYXQgSU1PIGRvZXMgbm90IG1hdHRlciBtdWNoIGFzCisgKiBJdCBp cyBmb3IgNy44IG9ubHksIGZvciB0cnVuayBpdCB3aWxsIGdldCBjb21wYXJlZCBjb3JyZWN0bHkg dGhhbmtzIHRvIHRoZQorICAgbmV3IGltcGxlbWVudGF0aW9uIG9mIHZhbHVlX2F2YWlsYWJsZV9j b250ZW50c19lcSgpCisgICBjYWxsZWQgdmFsdWVfY29udGVudHNfZXEoKS4KKyAqIElmIHRoZSBj b25kaXRpb25hbAorICAgICAgICAgICAgICAgICAgICAgIGlmICh2YWwgIT0gdmFsX2RlcmVmCisg ICAgICAgICAgICAgICAgICAgICAgICAgICYmICF2YWx1ZV9vcHRpbWl6ZWRfb3V0ICh2YWxfZGVy ZWYpCisgICAgICAgICAgICAgICAgICAgICAgICAgICYmICF2YWx1ZV9vcHRpbWl6ZWRfb3V0IChl bnRyeXZhbF9kZXJlZikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgdmFsdWVfYXZhaWxh YmxlX2NvbnRlbnRzX2VxICh2YWxfZGVyZWYsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW50cnl2YWxfZGVyZWYsIDAsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUWVBFX0xF TkdUSCAodHlwZV9kZXJlZikpKQorICAgICAgICAgICAgICAgICAgICAgICAgdmFsX2VxdWFsID0g MTsKKyAgIGZhaWxzIGl0IG1heSBqdXN0IHByaW50CisgICAgIGJhciAocmVmPUAweDdmZmZmZmZm ZDkwNDogPG9wdGltaXplZCBvdXQ+LCByZWZAZW50cnk9QDB4N2ZmZmZmZmZkOTA0OiA8b3B0aW1p emVkIG91dD4pCisgICAob3Igc29tZSB2YXJpYW50IHdpdGggc29tZSBwYXJ0aWFsbHkgb3B0aW1p emVkLW91dC91bmF2YWlsYWJsZSBwYXJ0cykKKyAgIGluc3RlYWQgb2YgdGhlIG1vcmUgY29ycmVj dAorICAgICBiYXIgKHJlZj1yZWZAZW50cnk9QDB4N2ZmZmZmZmZkOTA0OiA8b3B0aW1pemVkIG91 dD4pCisgICB3aGljaCBpcyBub3QgbXVjaCBhIGJ1Zy4KKworVGhlIGF0dGFjaGVkIGZpeCBubyBs b25nZSBtYWtlcyBzZW5zZSBhZnRlciB0aGUgbmV3IGltcGxlbWVudGF0aW9uCitvZiB2YWx1ZV9h dmFpbGFibGVfY29udGVudHNfZXEoKSBjYWxsZWQgdmFsdWVfY29udGVudHNfZXEoKSBnZXRzIGFw cGxpZWQgYXMgaXQKK2hhbmRsZXMgYWxsIHRoZSBvcHRpbWl6ZWQtb3V0L3VuYXZhaWxhYmxlIHZh bHVlcyBvbiBpdHMgb3duLCB0aGVyZWZvcmUgdGhlCithdHRhY2hlZCBwYXRjaCBpcyByZWFsbHkg b25seSBmb3IgNy44LgorCisKKz4gVHVybnMgb3V0IGl0J3MgdGhlIGNvZGUgZGlzYWJsZWQgaW4g dmFsdWVfb2ZfZHdhcmZfcmVnX2VudHJ5OgorPiAKKz4gICB0YXJnZXRfdmFsID0gZHdhcmZfZW50 cnlfcGFyYW1ldGVyX3RvX3ZhbHVlIChwYXJhbWV0ZXIsCis+IAkJCQkJICAgICAgIFRZUEVfTEVO R1RIICh0YXJnZXRfdHlwZSksCis+IAkJCQkJICAgICAgIHRhcmdldF90eXBlLCBjYWxsZXJfZnJh bWUsCis+IAkJCQkJICAgICAgIGNhbGxlcl9wZXJfY3UpOworPiAKKz4gICAvKiB2YWx1ZV9hc19h ZGRyZXNzIGRlcmVmZXJlbmNlcyBUWVBFX0NPREVfUkVGLiAgKi8KKz4gICBhZGRyID0gZXh0cmFj dF90eXBlZF9hZGRyZXNzICh2YWx1ZV9jb250ZW50cyAob3V0ZXJfdmFsKSwgY2hlY2tlZF90eXBl KTsKKz4gCis+ICAgLyogVGhlIHRhcmdldCBlbnRyeSB2YWx1ZSBoYXMgYXJ0aWZpY2lhbCBhZGRy ZXNzIG9mIHRoZSBlbnRyeSB2YWx1ZQorPiAgICAgIHJlZmVyZW5jZS4gICovCis+ICAgVkFMVUVf TFZBTCAodGFyZ2V0X3ZhbCkgPSBsdmFsX21lbW9yeTsKKz4gICBzZXRfdmFsdWVfYWRkcmVzcyAo dGFyZ2V0X3ZhbCwgYWRkcik7Cis+IAorPiBJdCBsb29rcyBxdWl0ZSB3cm9uZyB0byBtZSB0byBq dXN0IGNoYW5nZSBhIHZhbHVlJ3MgbHZhbCBsaWtlIHRoYXQuCis+IAorPiBJIHJhbiB0aGUgdGVz dHN1aXRlIHdpdGggdGhhdCBjb2RlIGRpc2FibGVkIChsaWtlIGluIHRoZSBwYXRjaCBiZWxvdyks Cis+IGFuZCB0aGF0IGNhdXNlZCBubyByZWdyZXNzaW9ucy4gIEkgY2FuJ3Qgc2F5IEkgcmVhbGx5 IHVuZGVyc3RhbmQgdGhlCis+IGludGVudGlvbiBoZXJlIHRob3VnaC4gIFdoYXQgd291bGQgd2Ug YmUgbWlzc2luZyBpZiB3ZSByZW1vdmVkIHRoYXQgY29kZT8KKworSSBjYW5ub3QgcmVwcm9kdWNl IGFueSB3cm9uZyBjYXNlIGhhdmluZyB0aGUgY29kZSBhYm92ZSAjaWYgMC1lZC4KKworSSBqdXN0 IGRvIG5vdCBmaW5kIGl0IGNvcnJlY3QgdG8gaGF2ZSBpdCBkaXNhYmxlZC4gIEJ1dCBhdCB0aGUg c2FtZSB0aW1lIEkgZG8KK2xpa2UgbXVjaCAvIEkgZG8gbm90IGZpbmQgY29ycmVjdCB0aGUgY29k ZSBteXNlbGYuICBJdCBpcyBhIGJpdCBwcm9ibGVtYXRpYyB0bworaGF2ZSBzdHJ1Y3QgdmFsdWUg ZGVzY3JpYmluZyBhIG1lbW9yeSBjb250ZW50IHdoaWNoIGlzIG5vIGxvbmdlciBwcmVzZW50Cit0 aGVyZS4KKworV2hhdCBoYXBwZW5zIHRoZXJlOgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCit2b2xh dGlsZSBpbnQgdnY7CitzdGF0aWMgX19hdHRyaWJ1dGVfXygobm9pbmxpbmUpKSBpbnQKK2JhciAo aW50ICZyZWYpIHsKKyAgcmVmID0gMjA7CisgIHZ2Kys7IC8qIGJyZWFrLWhlcmUgKi8KKyAgcmV0 dXJuIHJlZjsKK30KK2ludCBtYWluICh2b2lkKSB7CisgIGludCB2YXIgPSAxMDsKKyAgcmV0dXJu IGJhciAodmFyKTsKK30KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDw0PjxjNz46IEFiYnJldiBO dW1iZXI6IDEzIChEV19UQUdfR05VX2NhbGxfc2l0ZV9wYXJhbWV0ZXIpCisgICAgPGM4PiAgIERX X0FUX2xvY2F0aW9uICAgIDogMSBieXRlIGJsb2NrOiA1NSAgICAgICAgIChEV19PUF9yZWc1IChy ZGkpKQorICAgIDxjYT4gICBEV19BVF9HTlVfY2FsbF9zaXRlX3ZhbHVlOiAyIGJ5dGUgYmxvY2s6 IDkxIDc0ICAgICAgIChEV19PUF9mYnJlZzogLTEyKQorICAgIDxjZD4gICBEV19BVF9HTlVfY2Fs bF9zaXRlX2RhdGFfdmFsdWU6IDEgYnl0ZSBibG9jazogM2EgICAgIChEV19PUF9saXQxMCkKKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQorZ2RiIC1leCAnYiB2YWx1ZV9hZGRyJyAtZXggciAtLWFyZ3Mg Li4vZ2RiIC4vMSAtZXggJ3dhdGNoIHZ2JyAtZXggciAtZXggJ3AgJnJlZkBlbnRyeScKKy0+Cis2 ICAgIHJldHVybiByZWY7CitiYXIgKHJlZj1AMHg3ZmZmZmZmZmQ5NDQ6IDIwLCByZWZAZW50cnk9 QDB4N2ZmZmZmZmZkOTQ0OiAxMCkgYXQgMS5DOjI1CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0F0 IC8qIGJyZWFrLWhlcmUgKi8gc3RydWN0IHZhbHVlIHZhcmlhYmxlICdyZWYnIGlzIFRZUEVfQ09E RV9SRUYuCisKK1dpdGggRlNGIEdEQiBIRUFEOgorKGdkYikgeC9neCBhcmcxLmNvbnRlbnRzCisw eDYwMDQwMDBhNGFkMDogMHgwMDAwN2ZmZmZmZmZkOTQ0CisoZ2RiKSBwICgoc3RydWN0IHZhbHVl ICopYXJnMS5sb2NhdGlvbi5jb21wdXRlZC5jbG9zdXJlKS5sdmFsCiskMSA9IGx2YWxfbWVtb3J5 CisoZ2RiKSBwL3ggKChzdHJ1Y3QgdmFsdWUgKilhcmcxLmxvY2F0aW9uLmNvbXB1dGVkLmNsb3N1 cmUpLmxvY2F0aW9uLmFkZHJlc3MKKyQzID0gMHg3ZmZmZmZmZmQ5NDQKKworV2l0aCB5b3VyICNp ZjAtZWQgY29kZToKKyhnZGIpIHgvZ3ggYXJnMS5jb250ZW50cworMHg2MDA0MDAwYTRhZDA6IDB4 MDAwMDdmZmZmZmZmZDk0NAorKGdkYikgcCAoKHN0cnVjdCB2YWx1ZSAqKWFyZzEubG9jYXRpb24u Y29tcHV0ZWQuY2xvc3VyZSkubHZhbAorJDggPSBub3RfbHZhbAorKGdkYikgcC94ICgoc3RydWN0 IHZhbHVlICopYXJnMS5sb2NhdGlvbi5jb21wdXRlZC5jbG9zdXJlKS5sb2NhdGlvbi5hZGRyZXNz CiskOSA9IDB4MAorCitJIGRvIG5vdCBzZWUgaG93IHRvIGFjY2VzcworCSgoc3RydWN0IHZhbHVl ICopYXJnMS5sb2NhdGlvbi5jb21wdXRlZC5jbG9zdXJlKS5sb2NhdGlvbi5hZGRyZXNzCitmcm9t IEdEQiBDTEkuICBUcnlpbmcKKyhnZGIpIHAgJnJlZkBlbnRyeQord2lsbCBpbnZva2UgdmFsdWVf YWRkcigpJ3M6CisgIGlmIChUWVBFX0NPREUgKHR5cGUpID09IFRZUEVfQ09ERV9SRUYpCisgICAg ICAvKiBDb3B5IHRoZSB2YWx1ZSwgYnV0IGNoYW5nZSB0aGUgdHlwZSBmcm9tIChUJikgdG8gKFQq KS4gIFdlCisgICAgICAgICBrZWVwIHRoZSBzYW1lIGxvY2F0aW9uIGluZm9ybWF0aW9uLCB3aGlj aCBpcyBlZmZpY2llbnQsIGFuZAorICAgICAgICAgYWxsb3dzICYoJlgpIHRvIGdldCB0aGUgbG9j YXRpb24gY29udGFpbmluZyB0aGUgcmVmZXJlbmNlLiAgKi8KK2FuZCB0aGVyZWZvcmUgdGhlIGFk ZHJlc3MgZ2V0cyBmZXRjaGVkIGFscmVhZHkgZnJvbQorICBhcmcxLmNvbnRlbnRzCithbmQgbm90 IGZyb20KKyAgKChzdHJ1Y3QgdmFsdWUgKilhcmcxLmxvY2F0aW9uLmNvbXB1dGVkLmNsb3N1cmUp LmxvY2F0aW9uLmFkZHJlc3MKKy4KKworQW5kIGZvciBhbnkgb3RoZXIgdHlwZSB0aGFuIFRZUEVf Q09ERV9SRUYgdGhpcyBjb2RlIHlvdSAjaWYgMC1lZCBkb2VzIG5vdCBnZXQKK2V4ZWN1dGVkIGF0 IGFsbC4gIFRoaXMgRFdfQVRfR05VX2NhbGxfc2l0ZV9kYXRhX3ZhbHVlIERXQVJGIHdhcyBtZWFu dAorcHJpbWFyaWx5IGZvciBGb3J0cmFuIGJ1dCB3aXRoIC1PMCBlbnRyeSB2YWx1ZXMgZG8gbm90 IGdldCBwcm9kdWNlZAorYW5kIHdpdGggLU9nIGFuZCBoaWdoZXIgRm9ydHJhbiBhbHdheXMgb3B0 aW1pemVzIG91dCB0aGUgcGFzc2luZyBieSByZWZlcmVuY2UuCisKK0lmIHlvdSBkbyBub3QgbGlr ZSB0aGUgI2lmIDAgY29kZSB0aGVyZSBJIGFtIE9LIHdpdGggcmVtb3ZpbmcgaXQgYXMgSSBkbyBu b3QKK2tub3cgaG93IHRvIG1ha2UgaXQncyB1c2UgcmVwcm9kdWNpYmxlIGZvciB1c2VyIGFueXdh eS4gIEluIHRoZSB3b3JzdCBjYXNlCistIGlmIHRoZXJlIHJlYWxseSBpcyBzb21lIHdheSBob3cg dG8gZXhwbG9pdCBpdCAtIG9uZSBzaG91bGQganVzdCBnZXQKKyAgQXR0ZW1wdCB0byB0YWtlIGFk ZHJlc3Mgb2YgdmFsdWUgbm90IGxvY2F0ZWQgaW4gbWVtb3J5LgoraW5zdGVhZCBvZiBzb21lIHdy b25nIHZhbHVlIGFuZCBpdCBtYXkgYmUgZWFzeSB0byBmaXggdGhlbi4KKworCitUaGFua3MgZm9y IHRoZSBhbmFseXNpcywKK0phbgorCistLVY4OHM1Z2FEVlB6WjBLQ3EKK0NvbnRlbnQtVHlwZTog dGV4dC9wbGFpbjsgY2hhcnNldD11cy1hc2NpaQorQ29udGVudC1EaXNwb3NpdGlvbjogaW5saW5l OyBmaWxlbmFtZT0xCisKK2dkYi8KKzIwMTQtMDctMjAgIEphbiBLcmF0b2NodmlsICA8amFuLmty YXRvY2h2aWxAcmVkaGF0LmNvbT4KKworCSogc3RhY2suYyAocmVhZF9mcmFtZV9hcmcpOiBWZXJp ZnkgdmFsdWVfb3B0aW1pemVkX291dCBiZWZvcmUgY2FsbGluZworCXZhbHVlX2F2YWlsYWJsZV9j b250ZW50c19lcS4KKworZGlmZiAtLWdpdCBhL2dkYi9zdGFjay5jIGIvZ2RiL3N0YWNrLmMKK2lu ZGV4IDBkNmQ4ZTcuLjRkYjVkZjUgMTAwNjQ0CistLS0gYS9nZGIvc3RhY2suYworKysrIGIvZ2Ri L3N0YWNrLmMKK0BAIC00MTMsNiArNDEzLDggQEAgcmVhZF9mcmFtZV9hcmcgKHN0cnVjdCBzeW1i b2wgKnN5bSwgc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLAorIAkJICAgICAgLyogSWYgdGhlIHJl ZmVyZW5jZSBhZGRyZXNzZXMgbWF0Y2ggYnV0IGRlcmVmZXJlbmNlZAorIAkJCSBjb250ZW50IGRv ZXMgbm90IG1hdGNoIHByaW50IHRoZW0uICAqLworIAkJICAgICAgaWYgKHZhbCAhPSB2YWxfZGVy ZWYKKysJCSAgICAgICAgICAmJiAhdmFsdWVfb3B0aW1pemVkX291dCAodmFsX2RlcmVmKQorKwkJ ICAgICAgICAgICYmICF2YWx1ZV9vcHRpbWl6ZWRfb3V0IChlbnRyeXZhbF9kZXJlZikKKyAJCQkg ICYmIHZhbHVlX2F2YWlsYWJsZV9jb250ZW50c19lcSAodmFsX2RlcmVmLCAwLAorIAkJCQkJCQkg IGVudHJ5dmFsX2RlcmVmLCAwLAorIAkJCQkJCSAgICAgIFRZUEVfTEVOR1RIICh0eXBlX2RlcmVm KSkpCisKKy0tVjg4czVnYURWUHpaMEtDcS0tCisKCmRpZmYgLS1naXQgYS9nZGItZW50cnl2YWwt Y3Jhc2gtMm9mMy5wYXRjaCBiL2dkYi1lbnRyeXZhbC1jcmFzaC0yb2YzLnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzY2ZlMjIKLS0tIC9kZXYvbnVsbAorKysgYi9n ZGItZW50cnl2YWwtY3Jhc2gtMm9mMy5wYXRjaApAQCAtMCwwICsxLDQ0IEBACityZXZlcnQ6Citj b21taXQgNGYxNDkxMGZhMTMzMTM5OGNjNjk1MDExYTZhZjQzYTg5MjUyYjRiMQorQXV0aG9yOiBB bmRyZXcgQnVyZ2VzcyA8YWJ1cmdlc3NAYnJvYWRjb20uY29tPgorRGF0ZTogICBUdWUgTm92IDI2 IDE2OjIxOjUzIDIwMTMgKzAwMDAKKworICAgIE1hcmsgZW50aXJlbHkgb3B0aW1pemVkIG91dCB2 YWx1ZSBhcyBub24tbGF6eS4KKyAgICAKKyAgICBJZiBhIHZhbHVlIGlzIGVudGlyZWx5IG9wdGlt aXplZCBvdXQsIHRoZW4gdGhlcmUncyBub3RoaW5nIGZvcgorICAgIHZhbHVlX2ZldGNoX2xhenkg dG8gZmV0Y2guICBTZXF1ZW5jZXMgbGlrZToKKyAgICAKKyAgICAgaWYgKHZhbHVlX2xhenkgKHJl dHZhbCkpCisgICAgICAgdmFsdWVfZmV0Y2hfbGF6eSAocmV0dmFsKTsKKyAgICAKKyAgICBFbmQg dXAgYWxsb2NhdGluZyB0aGUgdmFsdWUgY29udGVudHMgYnVmZmVyLCB3YXN0aW5nIG1lbW9yeSwg Zm9yIG5vCisgICAgdXNlLgorICAgIAorICAgIGdkYi9DaGFuZ2VMb2cKKyAgICAyMDEzLTExLTI2 ICBBbmRyZXcgQnVyZ2VzcyAgPGFidXJnZXNzQGJyb2FkY29tLmNvbT4KKyAgICAKKyAgICAJKiB2 YWx1ZS5jIChhbGxvY2F0ZV9vcHRpbWl6ZWRfb3V0X3ZhbHVlKTogTWFyayB2YWx1ZSBhcyBub24t bGF6eS4KKworIyMjIGEvZ2RiL0NoYW5nZUxvZworIyMjIGIvZ2RiL0NoYW5nZUxvZworIyMgLTEs MyArMSw3IEBACisrMjAxMy0xMS0yNiAgQW5kcmV3IEJ1cmdlc3MgIDxhYnVyZ2Vzc0Bicm9hZGNv bS5jb20+CisrCisrCSogdmFsdWUuYyAoYWxsb2NhdGVfb3B0aW1pemVkX291dF92YWx1ZSk6IE1h cmsgdmFsdWUgYXMgbm9uLWxhenkuCisrCisgMjAxMy0xMS0yNiAgVG9tIFRyb21leSAgPHRyb21l eUByZWRoYXQuY29tPgorIAorIAkqIGR3YXJmMi1mcmFtZS5jIChkd2FyZjJfZnJhbWVfY2FjaGUp OiBSZXZlcnQgcGF0Y2ggZnJvbQorZGlmZiAtLWdpdCBhL2dkYi92YWx1ZS5jIGIvZ2RiL3ZhbHVl LmMKK2luZGV4IDI5YWJlNWYuLmYwNzNkNzEgMTAwNjQ0CistLS0gYS9nZGIvdmFsdWUuYworKysr IGIvZ2RiL3ZhbHVlLmMKK0BAIC05MDYsNyArOTA2LDcgQEAgYWxsb2NhdGVfb3B0aW1pemVkX291 dF92YWx1ZSAoc3RydWN0IHR5cGUgKnR5cGUpCisgICBzdHJ1Y3QgdmFsdWUgKnJldHZhbCA9IGFs bG9jYXRlX3ZhbHVlX2xhenkgKHR5cGUpOworIAorICAgc2V0X3ZhbHVlX29wdGltaXplZF9vdXQg KHJldHZhbCwgMSk7CistICBzZXRfdmFsdWVfbGF6eSAocmV0dmFsLCAwKTsKKysKKyAgIHJldHVy biByZXR2YWw7CisgfQorIAoKZGlmZiAtLWdpdCBhL2dkYi1lbnRyeXZhbC1jcmFzaC0zb2YzLnBh dGNoIGIvZ2RiLWVudHJ5dmFsLWNyYXNoLTNvZjMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMC4uYThlYTA5OQotLS0gL2Rldi9udWxsCisrKyBiL2dkYi1lbnRyeXZhbC1j cmFzaC0zb2YzLnBhdGNoCkBAIC0wLDAgKzEsMTAxMSBAQAoraHR0cDovL3NvdXJjZXdhcmUub3Jn L21sL2dkYi1wYXRjaGVzLzIwMTQtMDcvbXNnMDAyNzcuaHRtbAorU3ViamVjdDogW3BhdGNodjNd IEZpeCBjcmFzaCBvbiBvcHRpbWl6ZWQtb3V0IGVudHJ5IGRhdGEgdmFsdWVzCisKKworLS1EeG5x MXpXWHZGRjBROTN2CitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9dXMtYXNjaWkK K0NvbnRlbnQtRGlzcG9zaXRpb246IGlubGluZQorCitPbiBXZWQsIDA5IEp1bCAyMDE0IDE3OjMx OjIxICswMjAwLCBKYW4gS3JhdG9jaHZpbCB3cm90ZToKKz4gT24gV2VkLCAwOSBKdWwgMjAxNCAx Mzo1MjowMCArMDIwMCwgUGVkcm8gQWx2ZXMgd3JvdGU6Cis+ID4gT24gMDcvMDkvMjAxNCAxMToz MyBBTSwgSmFuIEtyYXRvY2h2aWwgd3JvdGU6Cis+ID4gPiAtLS0gYS9nZGIvdmFsdWUuYworPiA+ ID4gKysrIGIvZ2RiL3ZhbHVlLmMKKz4gPiA+IEBAIC0xOTgsMTIgKzE5OCwxMyBAQCBzdHJ1Y3Qg dmFsdWUKKz4gPiA+ICAgIHVuc2lnbmVkIGludCBsYXp5IDogMTsKKz4gPiA+ICAKKz4gPiA+ICAg IC8qIElmIG5vbnplcm8sIHRoaXMgaXMgdGhlIHZhbHVlIG9mIGEgdmFyaWFibGUgdGhhdCBkb2Vz IG5vdAorPiA+ID4gLSAgICAgYWN0dWFsbHkgZXhpc3QgaW4gdGhlIHByb2dyYW0uICBJZiBub256 ZXJvLCBhbmQgTFZBTCBpcworPiA+ID4gKyAgICAgYWN0dWFsbHkgZnVsbHkgZXhpc3QgaW4gdGhl IHByb2dyYW0uICBJZiBub256ZXJvLCBhbmQgTFZBTCBpcworPiA+ID4gICAgICAgbHZhbF9yZWdp c3RlciwgdGhpcyBpcyBhIHJlZ2lzdGVyICgkcGMsICRzcCwgZXRjLiwgbmV2ZXIgYQorPiA+ID4g ICAgICAgcHJvZ3JhbSB2YXJpYWJsZSkgdGhhdCBoYXMgbm90IGJlZW4gc2F2ZWQgaW4gdGhlIGZy YW1lLiAgQWxsCis+ID4gPiAgICAgICBvcHRpbWl6ZWQtb3V0IHZhbHVlcyBhcmUgdHJlYXRlZCBw cmV0dHkgbXVjaCB0aGUgc2FtZSwgZXhjZXB0Cis+ID4gPiAgICAgICByZWdpc3RlcnMgaGF2ZSBh IGRpZmZlcmVudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gYW5kIHJlbGF0ZWQKKz4gPiA+IC0gICAg IGVycm9yIHN0cmluZ3MuICAqLworPiA+ID4gKyAgICAgZXJyb3Igc3RyaW5ncy4gIEl0IGlzIHRy dWUgYWxzbyBmb3Igb25seSBwYXJ0aWFsbHkgb3B0aW1pemVkCis+ID4gPiArICAgICBvdXQgdmFy aWFibGVzIC0gc2VlIHRoZSAndW5hdmFpbGFibGUnIGZpZWxkIGJlbG93LiAgKi8KKz4gPiA+ICAg IHVuc2lnbmVkIGludCBvcHRpbWl6ZWRfb3V0IDogMTsKKz4gPiA+ICAKKz4gPiA+ICAgIC8qIElm IHZhbHVlIGlzIGEgdmFyaWFibGUsIGlzIGl0IGluaXRpYWxpemVkIG9yIG5vdC4gICovCis+ID4g PiBAQCAtMzM0LDcgKzMzNSwxMCBAQCBzdHJ1Y3QgdmFsdWUKKz4gPiA+ICAgICAgIHZhbGlkIGlm IGxhenkgaXMgbm9uemVyby4gICovCis+ID4gPiAgICBnZGJfYnl0ZSAqY29udGVudHM7Cis+ID4g PiAgCis+ID4gPiAtICAvKiBVbmF2YWlsYWJsZSByYW5nZXMgaW4gQ09OVEVOVFMuICBXZSBtYXJr IHVuYXZhaWxhYmxlIHJhbmdlcywKKz4gPiA+ICsgIC8qIElmIE9QVElNSVpFRF9PVVQgaXMgZmFs c2UgdGhlbiBVTkFWQUlMQUJMRSBtdXN0IGJlIFZFQ19lbXB0eQorPiA+ID4gKyAgICAgKG5vdCBu ZWNlc3NhcmlseSBOVUxMKS4gIAorPiA+IAorPiA+IEhtbSwgd2h5PyAgV2UgY2FuIGNvbGxlY3Qg b25seSBwYXJ0IG9mIGEgbm9uLW9wdGltaXplZCBvdXQgdmFsdWUuCis+ID4gV2hhdCBhbSBJIG1p c3Npbmc/Cis+IAorPiBJIG1pc3Mgc29tZSBkb2N1bWVudGF0aW9uIGhvdyB0aGVzZSBhdmFpbGFi aWxpdHkgZmllbGRzIGludGVyYWN0IHRvZ2V0aGVyLgorCis+RnJvbSBhIGNvbW1lbnQgaW4gbWFp bAorCU1lc3NhZ2UtSWQ6IDwyMDExMDIwNzE0MjcuNTU5NzAucGVkcm9AY29kZXNvdXJjZXJ5LmNv bT4KKwlXZSBnaXZlIHByZWZlcmVuY2UgdG8gcHJpbnRpbmcgPG9wdGltaXplZCBvdXQ+IHJhdGhl cgorCXRoYW4gPHVuYXZhaWxhYmxlPiwgc2luY2UgaWYgYSB2YWx1ZSBoYWQgYmVlbiBvcHRpbWl6 ZWQgb3V0CisJYXQgY29tcGlsZSB0aW1lLCBpdCBjYW4gbmV2ZXIgYmUgY29sbGVjdGVkIGF0IHJ1 bi10aW1lLgorCitpdCBzZWVtcyBpdCBpcyBqdXN0IHJldmVyc2VkLCB0aGF0ICd1bmF2YWlsYWJs ZScgY2FuIGV4aXN0IG9ubHkgZm9yCishb3B0aW1pemVkX291dCBhbmQgaXQgY2Fubm90IGV4aXN0 IGZvciBmb3Igb3B0aW1pemVkX291dCB2YWx1ZXMuCisKKworPiBZb3UgYXJlIHJpZ2h0LCB0aGlz IHBhdGNoIHJlZ3Jlc3NlcyBkdXJpbmcgZ2Ric2VydmVyIG1vZGUuCisKK0l0IFBBU1NlcyBub3cg ZXZlbiBpbiBnZGJzZXJ2ZXIgbW9kZS4KKworCitUaGFua3MsCitKYW4KKworLS1EeG5xMXpXWHZG RjBROTN2CitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9dXMtYXNjaWkKK0NvbnRl bnQtRGlzcG9zaXRpb246IGlubGluZTsgZmlsZW5hbWU9Im9wdGltZml4My5wYXRjaCIKKworZ2Ri LworMjAxNC0wNy0wOSAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29t PgorCityZW1vdmVkOgorCSogdmFsdWUuYyAoc3RydWN0IHZhbHVlKTogRXh0ZW5kIHRoZSBjb21t ZW50IGZvciBmaWVsZHMgb3B0aW1pemVkX291dAorCWFuZCB1bmF2YWlsYWJsZS4KKwkodmFsdWVf YXZhaWxhYmxlX2NvbnRlbnRzX2JpdHNfZXEpOiBIYW5kbGUgT1BUSU1JWkVEX09VVCB2YWx1ZXMg YXMKKwlzcGVjaWFsIGNhc2VzLgorCitnZGIvdGVzdHN1aXRlLworMjAxNC0wNy0wOSAgSmFuIEty YXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgorCisJKiBnZGIuYXJjaC9hbWQ2 NC1lbnRyeS12YWx1ZS1wYXJhbXJlZi5TOiBOZXcgZmlsZS4KKwkqIGdkYi5hcmNoL2FtZDY0LWVu dHJ5LXZhbHVlLXBhcmFtcmVmLmNjOiBOZXcgZmlsZS4KKwkqIGdkYi5hcmNoL2FtZDY0LWVudHJ5 LXZhbHVlLXBhcmFtcmVmLmV4cDogTmV3IGZpbGUuCisJKiBnZGIuYXJjaC9hbWQ2NC1vcHRpbW91 dC1yZXBlYXQuUzogTmV3IGZpbGUuCisJKiBnZGIuYXJjaC9hbWQ2NC1vcHRpbW91dC1yZXBlYXQu YzogTmV3IGZpbGUuCisJKiBnZGIuYXJjaC9hbWQ2NC1vcHRpbW91dC1yZXBlYXQuZXhwOiBOZXcg ZmlsZS4KKworZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvYW1kNjQtZW50cnkt dmFsdWUtcGFyYW1yZWYuUyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvYW1kNjQtZW50cnktdmFs dWUtcGFyYW1yZWYuUworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmExZTlk MGEKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvYW1kNjQtZW50 cnktdmFsdWUtcGFyYW1yZWYuUworQEAgLTAsMCArMSw0NTkgQEAKKysvKiBUaGlzIHRlc3RjYXNl IGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgorKworKyAgIENvcHlyaWdodCAyMDE0 IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBm cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrICAg aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBw dWJsaXNoZWQgYnkKKysgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVy c2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy IHZlcnNpb24uCisrCisrICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3 aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysgICBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrICAgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysKKysgICBZb3Ugc2hvdWxk IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQor KyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251 Lm9yZy9saWNlbnNlcy8+LiAgKi8KKysKKysvKiBUaGlzIGZpbGUgaXMgY29tcGlsZWQgZnJvbSBn ZGIuYXJjaC9hbWQ2NC1lbnRyeS12YWx1ZS1wYXJhbXJlZi5jYworKyAgIHVzaW5nIC1nIC1kQSAt UyAtTzIuCisrICAgQWRkaXRpb25hbGx5IGl0IGhhcyBiZWVuIHBhdGNoZWQuICAqLworKworKwku ZmlsZQkiYW1kNjQtZW50cnktdmFsdWUtcGFyYW1yZWYuY2MiCisrCS50ZXh0CisrLkx0ZXh0MDoK KysJLnAyYWxpZ24gNCwsMTUKKysJLnR5cGUJX1pMM2JhclJpLmNvbnN0cHJvcC4wLCBAZnVuY3Rp b24KKytfWkwzYmFyUmkuY29uc3Rwcm9wLjA6CisrLkxGQjI6CisrCS5maWxlIDEgImdkYi5hcmNo L2FtZDY0LWVudHJ5LXZhbHVlLXBhcmFtcmVmLmNjIgorKwkjIGdkYi5hcmNoL2FtZDY0LWVudHJ5 LXZhbHVlLXBhcmFtcmVmLmNjOjIxCisrCS5sb2MgMSAyMSAwCisrCS5jZmlfc3RhcnRwcm9jCisr LkxWTDA6CisrIyBCTE9DSyAyIGZyZXE6MTAwMDAgc2VxOjAKKysjIFBSRUQ6IEVOVFJZIFsxMDAu MCVdICAoRkFMTFRIUlUpCisrCSMgZ2RiLmFyY2gvYW1kNjQtZW50cnktdmFsdWUtcGFyYW1yZWYu Y2M6MjMKKysJLmxvYyAxIDIzIDAKKysJbW92bAl2diglcmlwKSwgJWVheAorKwkjIGdkYi5hcmNo L2FtZDY0LWVudHJ5LXZhbHVlLXBhcmFtcmVmLmNjOjI0CisrCS5sb2MgMSAyNCAwCisrCW1vdnEJ JXJkaSwgcCglcmlwKQorKwkjIGdkYi5hcmNoL2FtZDY0LWVudHJ5LXZhbHVlLXBhcmFtcmVmLmNj OjIzCisrCS5sb2MgMSAyMyAwCisrCWFkZGwJJDEsICVlYXgKKysJbW92bAklZWF4LCB2diglcmlw KQorKwkjIGdkYi5hcmNoL2FtZDY0LWVudHJ5LXZhbHVlLXBhcmFtcmVmLmNjOjI1CisrCS5sb2Mg MSAyNSAwCisrCW1vdmwJKCVyZGkpLCAlZWF4CisrIyBTVUNDOiBFWElUIFsxMDAuMCVdIAorKwkj IGdkYi5hcmNoL2FtZDY0LWVudHJ5LXZhbHVlLXBhcmFtcmVmLmNjOjI2CisrCS5sb2MgMSAyNiAw CisrCXJldAorKwkuY2ZpX2VuZHByb2MKKysuTEZFMjoKKysJLnNpemUJX1pMM2JhclJpLmNvbnN0 cHJvcC4wLCAuLV9aTDNiYXJSaS5jb25zdHByb3AuMAorKwkuc2VjdGlvbgkudGV4dC5zdGFydHVw LCJheCIsQHByb2diaXRzCisrCS5wMmFsaWduIDQsLDE1CisrCS5nbG9ibAltYWluCisrCS50eXBl CW1haW4sIEBmdW5jdGlvbgorK21haW46CisrLkxGQjE6CisrCSMgZ2RiLmFyY2gvYW1kNjQtZW50 cnktdmFsdWUtcGFyYW1yZWYuY2M6MzAKKysJLmxvYyAxIDMwIDAKKysJLmNmaV9zdGFydHByb2MK KysjIEJMT0NLIDIgZnJlcToxMDAwMCBzZXE6MAorKyMgUFJFRDogRU5UUlkgWzEwMC4wJV0gIChG QUxMVEhSVSkKKysJc3VicQkkMTYsICVyc3AKKysJLmNmaV9kZWZfY2ZhX29mZnNldCAyNAorKy5M QkIyOgorKwkjIGdkYi5hcmNoL2FtZDY0LWVudHJ5LXZhbHVlLXBhcmFtcmVmLmNjOjMyCisrCS5s b2MgMSAzMiAwCisrCWxlYXEJMTIoJXJzcCksICVyZGkKKysJIyBnZGIuYXJjaC9hbWQ2NC1lbnRy eS12YWx1ZS1wYXJhbXJlZi5jYzozMQorKwkubG9jIDEgMzEgMAorKwltb3ZsCSQxMCwgMTIoJXJz cCkKKysJIyBnZGIuYXJjaC9hbWQ2NC1lbnRyeS12YWx1ZS1wYXJhbXJlZi5jYzozMgorKwkubG9j IDEgMzIgMAorKwljYWxsCV9aTDNiYXJSaS5jb25zdHByb3AuMAorKy5MVkwxOgorKy5MQkUyOgor KwkjIGdkYi5hcmNoL2FtZDY0LWVudHJ5LXZhbHVlLXBhcmFtcmVmLmNjOjMzCisrCS5sb2MgMSAz MyAwCisrCWFkZHEJJDE2LCAlcnNwCisrCS5jZmlfZGVmX2NmYV9vZmZzZXQgOAorKyMgU1VDQzog RVhJVCBbMTAwLjAlXSAKKysJcmV0CisrCS5jZmlfZW5kcHJvYworKy5MRkUxOgorKwkuc2l6ZQlt YWluLCAuLW1haW4KKysJLmdsb2JsCXAKKysJLmJzcworKwkuYWxpZ24gOAorKwkudHlwZQlwLCBA b2JqZWN0CisrCS5zaXplCXAsIDgKKytwOgorKwkuemVybwk4CisrCS5nbG9ibAl2dgorKwkuYWxp Z24gNAorKwkudHlwZQl2diwgQG9iamVjdAorKwkuc2l6ZQl2diwgNAorK3Z2OgorKwkuemVybwk0 CisrCS50ZXh0CisrLkxldGV4dDA6CisrCS5zZWN0aW9uCS5kZWJ1Z19pbmZvLCIiLEBwcm9nYml0 cworKy5MZGVidWdfaW5mbzA6CisrCS5sb25nCS5MaW5mb19lbmQgLSAuTGluZm9fc3RhcnQJIyBM ZW5ndGggb2YgQ29tcGlsYXRpb24gVW5pdCBJbmZvCisrLkxpbmZvX3N0YXJ0OgorKwkudmFsdWUJ MHg0CSMgRFdBUkYgdmVyc2lvbiBudW1iZXIKKysJLmxvbmcJLkxkZWJ1Z19hYmJyZXYwCSMgT2Zm c2V0IEludG8gQWJicmV2LiBTZWN0aW9uCisrCS5ieXRlCTB4OAkjIFBvaW50ZXIgU2l6ZSAoaW4g Ynl0ZXMpCisrCS51bGViMTI4IDB4MQkjIChESUUgKDB4YikgRFdfVEFHX2NvbXBpbGVfdW5pdCkK KysJLmxvbmcJLkxBU0YwCSMgRFdfQVRfcHJvZHVjZXI6ICJHTlUgQysrIDQuOC4yIDIwMTMxMjEy IChSZWQgSGF0IDQuOC4yLTcpIC1tdHVuZT1nZW5lcmljIC1tYXJjaD14ODYtNjQgLWcgLU8yIgor KwkuYnl0ZQkweDQJIyBEV19BVF9sYW5ndWFnZQorKwkubG9uZwkuTEFTRjEJIyBEV19BVF9uYW1l OiAiZ2RiLmFyY2gvYW1kNjQtZW50cnktdmFsdWUtcGFyYW1yZWYuY2MiCisrCS5sb25nCS5MQVNG MgkjIERXX0FUX2NvbXBfZGlyOiAiIgorKwkubG9uZwkuTGRlYnVnX3JhbmdlczArMAkjIERXX0FU X3JhbmdlcworKwkucXVhZAkwCSMgRFdfQVRfbG93X3BjCisrCS5sb25nCS5MZGVidWdfbGluZTAJ IyBEV19BVF9zdG10X2xpc3QKKytESUUyOToJLnVsZWIxMjggMHgyCSMgKERJRSAoMHgyOSkgRFdf VEFHX3N1YnByb2dyYW0pCisrCS5hc2NpaSAiYmFyXDAiCSMgRFdfQVRfbmFtZQorKwkuYnl0ZQkw eDEJIyBEV19BVF9kZWNsX2ZpbGUgKGdkYi5hcmNoL2FtZDY0LWVudHJ5LXZhbHVlLXBhcmFtcmVm LmNjKQorKwkuYnl0ZQkweDE1CSMgRFdfQVRfZGVjbF9saW5lCisrCS5sb25nCURJRTQ1CSMgRFdf QVRfdHlwZQorKwkuYnl0ZQkweDEJIyBEV19BVF9pbmxpbmUKKytESUUzOToJLnVsZWIxMjggMHgz CSMgKERJRSAoMHgzOSkgRFdfVEFHX2Zvcm1hbF9wYXJhbWV0ZXIpCisrCS5hc2NpaSAicmVmXDAi CSMgRFdfQVRfbmFtZQorKwkuYnl0ZQkweDEJIyBEV19BVF9kZWNsX2ZpbGUgKGdkYi5hcmNoL2Ft ZDY0LWVudHJ5LXZhbHVlLXBhcmFtcmVmLmNjKQorKwkuYnl0ZQkweDE1CSMgRFdfQVRfZGVjbF9s aW5lCisrCS5sb25nCURJRTRjCSMgRFdfQVRfdHlwZQorKwkuYnl0ZQkwCSMgZW5kIG9mIGNoaWxk cmVuIG9mIERJRSAweDI5CisrRElFNDU6CS51bGViMTI4IDB4NAkjIChESUUgKDB4NDUpIERXX1RB R19iYXNlX3R5cGUpCisrCS5ieXRlCTB4NAkjIERXX0FUX2J5dGVfc2l6ZQorKwkuYnl0ZQkweDUJ IyBEV19BVF9lbmNvZGluZworKwkuYXNjaWkgImludFwwIgkjIERXX0FUX25hbWUKKytESUU0YzoJ LnVsZWIxMjggMHg1CSMgKERJRSAoMHg0YykgRFdfVEFHX2NvbnN0X3R5cGUpCisrCS5sb25nCURJ RTUxCSMgRFdfQVRfdHlwZQorK0RJRTUxOgkudWxlYjEyOCAweDYJIyAoRElFICgweDUxKSBEV19U QUdfcmVmZXJlbmNlX3R5cGUpCisrCS5ieXRlCTB4OAkjIERXX0FUX2J5dGVfc2l6ZQorKwkubG9u ZwlESUU0NQkjIERXX0FUX3R5cGUKKytESUU1NzoJLnVsZWIxMjggMHg3CSMgKERJRSAoMHg1Nykg RFdfVEFHX3N1YnByb2dyYW0pCisrCS5sb25nCURJRTI5CSMgRFdfQVRfYWJzdHJhY3Rfb3JpZ2lu CisrCS5xdWFkCS5MRkIyCSMgRFdfQVRfbG93X3BjCisrCS5xdWFkCS5MRkUyLS5MRkIyCSMgRFdf QVRfaGlnaF9wYworKwkudWxlYjEyOCAweDEJIyBEV19BVF9mcmFtZV9iYXNlCisrCS5ieXRlCTB4 OWMJIyBEV19PUF9jYWxsX2ZyYW1lX2NmYQorKwkJCSMgRFdfQVRfR05VX2FsbF9jYWxsX3NpdGVz CisrRElFNzI6CS51bGViMTI4IDB4OAkjIChESUUgKDB4NzIpIERXX1RBR19mb3JtYWxfcGFyYW1l dGVyKQorKwkubG9uZwlESUUzOQkjIERXX0FUX2Fic3RyYWN0X29yaWdpbgorKwkudWxlYjEyOCAw eDEJIyBEV19BVF9sb2NhdGlvbgorKwkuYnl0ZQkweDU1CSMgRFdfT1BfcmVnNQorKwkuYnl0ZQkw CSMgZW5kIG9mIGNoaWxkcmVuIG9mIERJRSAweDU3CisrRElFN2E6CS51bGViMTI4IDB4OQkjIChE SUUgKDB4N2EpIERXX1RBR19zdWJwcm9ncmFtKQorKwkJCSMgRFdfQVRfZXh0ZXJuYWwKKysJLmxv bmcJLkxBU0YzCSMgRFdfQVRfbmFtZTogIm1haW4iCisrCS5ieXRlCTB4MQkjIERXX0FUX2RlY2xf ZmlsZSAoZ2RiLmFyY2gvYW1kNjQtZW50cnktdmFsdWUtcGFyYW1yZWYuY2MpCisrCS5ieXRlCTB4 MWQJIyBEV19BVF9kZWNsX2xpbmUKKysJLmxvbmcJRElFNDUJIyBEV19BVF90eXBlCisrCS5xdWFk CS5MRkIxCSMgRFdfQVRfbG93X3BjCisrCS5xdWFkCS5MRkUxLS5MRkIxCSMgRFdfQVRfaGlnaF9w YworKwkudWxlYjEyOCAweDEJIyBEV19BVF9mcmFtZV9iYXNlCisrCS5ieXRlCTB4OWMJIyBEV19P UF9jYWxsX2ZyYW1lX2NmYQorKwkJCSMgRFdfQVRfR05VX2FsbF9jYWxsX3NpdGVzCisrRElFOWI6 CS51bGViMTI4IDB4YQkjIChESUUgKDB4OWIpIERXX1RBR19sZXhpY2FsX2Jsb2NrKQorKwkucXVh ZAkuTEJCMgkjIERXX0FUX2xvd19wYworKwkucXVhZAkuTEJFMi0uTEJCMgkjIERXX0FUX2hpZ2hf cGMKKytESUVhYzoJLnVsZWIxMjggMHhiCSMgKERJRSAoMHhhYykgRFdfVEFHX3ZhcmlhYmxlKQor KwkuYXNjaWkgInZhclwwIgkjIERXX0FUX25hbWUKKysJLmJ5dGUJMHgxCSMgRFdfQVRfZGVjbF9m aWxlIChnZGIuYXJjaC9hbWQ2NC1lbnRyeS12YWx1ZS1wYXJhbXJlZi5jYykKKysJLmJ5dGUJMHgx ZgkjIERXX0FUX2RlY2xfbGluZQorKwkubG9uZwlESUU0NQkjIERXX0FUX3R5cGUKKysJLnVsZWIx MjggMHgyCSMgRFdfQVRfbG9jYXRpb24KKysJLmJ5dGUJMHg5MQkjIERXX09QX2ZicmVnCisrCS5z bGViMTI4IC0xMgorK0RJRWJhOgkudWxlYjEyOCAweGMJIyAoRElFICgweGJhKSBEV19UQUdfR05V X2NhbGxfc2l0ZSkKKysJLnF1YWQJLkxWTDEJIyBEV19BVF9sb3dfcGMKKysJLmxvbmcJRElFNTcJ IyBEV19BVF9hYnN0cmFjdF9vcmlnaW4KKytESUVjNzoJLnVsZWIxMjggMHhkCSMgKERJRSAoMHhj NykgRFdfVEFHX0dOVV9jYWxsX3NpdGVfcGFyYW1ldGVyKQorKwkudWxlYjEyOCAweDEJIyBEV19B VF9sb2NhdGlvbgorKwkuYnl0ZQkweDU1CSMgRFdfT1BfcmVnNQorKwkudWxlYjEyOCAweDIJIyBE V19BVF9HTlVfY2FsbF9zaXRlX3ZhbHVlCisrCS5ieXRlCTB4OTEJIyBEV19PUF9mYnJlZworKwku c2xlYjEyOCAtMTIKKysjaWYgMAorKwkudWxlYjEyOCAweDEJIyBEV19BVF9HTlVfY2FsbF9zaXRl X2RhdGFfdmFsdWUKKysJLmJ5dGUJMHgzYQkjIERXX09QX2xpdDEwCisrI2Vsc2UKKysJLnVsZWIx MjggMWYgLSAyZgkjIERXX0FUX0dOVV9jYWxsX3NpdGVfZGF0YV92YWx1ZQorKzI6CisrCS5ieXRl CTB4ZjMJIyBEV19PUF9HTlVfZW50cnlfdmFsdWUKKysJLnVsZWIxMjggMWYgLSAzZgorKzM6Cisr CS5ieXRlCTB4NTUJIyBEV19PUF9yZWc1CisrMToKKysjZW5kaWYKKysJLmJ5dGUJMAkjIGVuZCBv ZiBjaGlsZHJlbiBvZiBESUUgMHhiYQorKwkuYnl0ZQkwCSMgZW5kIG9mIGNoaWxkcmVuIG9mIERJ RSAweDliCisrCS5ieXRlCTAJIyBlbmQgb2YgY2hpbGRyZW4gb2YgRElFIDB4N2EKKytESUVkMjoJ LnVsZWIxMjggMHhlCSMgKERJRSAoMHhkMikgRFdfVEFHX3ZhcmlhYmxlKQorKwkuYXNjaWkgInZ2 XDAiCSMgRFdfQVRfbmFtZQorKwkuYnl0ZQkweDEJIyBEV19BVF9kZWNsX2ZpbGUgKGdkYi5hcmNo L2FtZDY0LWVudHJ5LXZhbHVlLXBhcmFtcmVmLmNjKQorKwkuYnl0ZQkweDEyCSMgRFdfQVRfZGVj bF9saW5lCisrCS5sb25nCURJRWU2CSMgRFdfQVRfdHlwZQorKwkJCSMgRFdfQVRfZXh0ZXJuYWwK KysJLnVsZWIxMjggMHg5CSMgRFdfQVRfbG9jYXRpb24KKysJLmJ5dGUJMHgzCSMgRFdfT1BfYWRk cgorKwkucXVhZAl2dgorK0RJRWU2OgkudWxlYjEyOCAweGYJIyAoRElFICgweGU2KSBEV19UQUdf dm9sYXRpbGVfdHlwZSkKKysJLmxvbmcJRElFNDUJIyBEV19BVF90eXBlCisrRElFZWI6CS51bGVi MTI4IDB4ZQkjIChESUUgKDB4ZWIpIERXX1RBR192YXJpYWJsZSkKKysJLmFzY2lpICJwXDAiCSMg RFdfQVRfbmFtZQorKwkuYnl0ZQkweDEJIyBEV19BVF9kZWNsX2ZpbGUgKGdkYi5hcmNoL2FtZDY0 LWVudHJ5LXZhbHVlLXBhcmFtcmVmLmNjKQorKwkuYnl0ZQkweDEyCSMgRFdfQVRfZGVjbF9saW5l CisrCS5sb25nCURJRWZlCSMgRFdfQVRfdHlwZQorKwkJCSMgRFdfQVRfZXh0ZXJuYWwKKysJLnVs ZWIxMjggMHg5CSMgRFdfQVRfbG9jYXRpb24KKysJLmJ5dGUJMHgzCSMgRFdfT1BfYWRkcgorKwku cXVhZAlwCisrRElFZmU6CS51bGViMTI4IDB4MTAJIyAoRElFICgweGZlKSBEV19UQUdfcG9pbnRl cl90eXBlKQorKwkuYnl0ZQkweDgJIyBEV19BVF9ieXRlX3NpemUKKysJLmxvbmcJRElFZTYJIyBE V19BVF90eXBlCisrCS5ieXRlCTAJIyBlbmQgb2YgY2hpbGRyZW4gb2YgRElFIDB4YgorKy5MaW5m b19lbmQ6CisrCS5zZWN0aW9uCS5kZWJ1Z19hYmJyZXYsIiIsQHByb2diaXRzCisrLkxkZWJ1Z19h YmJyZXYwOgorKwkudWxlYjEyOCAweDEJIyAoYWJicmV2IGNvZGUpCisrCS51bGViMTI4IDB4MTEJ IyAoVEFHOiBEV19UQUdfY29tcGlsZV91bml0KQorKwkuYnl0ZQkweDEJIyBEV19jaGlsZHJlbl95 ZXMKKysJLnVsZWIxMjggMHgyNQkjIChEV19BVF9wcm9kdWNlcikKKysJLnVsZWIxMjggMHhlCSMg KERXX0ZPUk1fc3RycCkKKysJLnVsZWIxMjggMHgxMwkjIChEV19BVF9sYW5ndWFnZSkKKysJLnVs ZWIxMjggMHhiCSMgKERXX0ZPUk1fZGF0YTEpCisrCS51bGViMTI4IDB4MwkjIChEV19BVF9uYW1l KQorKwkudWxlYjEyOCAweGUJIyAoRFdfRk9STV9zdHJwKQorKwkudWxlYjEyOCAweDFiCSMgKERX X0FUX2NvbXBfZGlyKQorKwkudWxlYjEyOCAweGUJIyAoRFdfRk9STV9zdHJwKQorKwkudWxlYjEy OCAweDU1CSMgKERXX0FUX3JhbmdlcykKKysJLnVsZWIxMjggMHgxNwkjIChEV19GT1JNX3NlY19v ZmZzZXQpCisrCS51bGViMTI4IDB4MTEJIyAoRFdfQVRfbG93X3BjKQorKwkudWxlYjEyOCAweDEJ IyAoRFdfRk9STV9hZGRyKQorKwkudWxlYjEyOCAweDEwCSMgKERXX0FUX3N0bXRfbGlzdCkKKysJ LnVsZWIxMjggMHgxNwkjIChEV19GT1JNX3NlY19vZmZzZXQpCisrCS5ieXRlCTAKKysJLmJ5dGUJ MAorKwkudWxlYjEyOCAweDIJIyAoYWJicmV2IGNvZGUpCisrCS51bGViMTI4IDB4MmUJIyAoVEFH OiBEV19UQUdfc3VicHJvZ3JhbSkKKysJLmJ5dGUJMHgxCSMgRFdfY2hpbGRyZW5feWVzCisrCS51 bGViMTI4IDB4MwkjIChEV19BVF9uYW1lKQorKwkudWxlYjEyOCAweDgJIyAoRFdfRk9STV9zdHJp bmcpCisrCS51bGViMTI4IDB4M2EJIyAoRFdfQVRfZGVjbF9maWxlKQorKwkudWxlYjEyOCAweGIJ IyAoRFdfRk9STV9kYXRhMSkKKysJLnVsZWIxMjggMHgzYgkjIChEV19BVF9kZWNsX2xpbmUpCisr CS51bGViMTI4IDB4YgkjIChEV19GT1JNX2RhdGExKQorKwkudWxlYjEyOCAweDQ5CSMgKERXX0FU X3R5cGUpCisrCS51bGViMTI4IDB4MTMJIyAoRFdfRk9STV9yZWY0KQorKwkudWxlYjEyOCAweDIw CSMgKERXX0FUX2lubGluZSkKKysJLnVsZWIxMjggMHhiCSMgKERXX0ZPUk1fZGF0YTEpCisrCS5i eXRlCTAKKysJLmJ5dGUJMAorKwkudWxlYjEyOCAweDMJIyAoYWJicmV2IGNvZGUpCisrCS51bGVi MTI4IDB4NQkjIChUQUc6IERXX1RBR19mb3JtYWxfcGFyYW1ldGVyKQorKwkuYnl0ZQkwCSMgRFdf Y2hpbGRyZW5fbm8KKysJLnVsZWIxMjggMHgzCSMgKERXX0FUX25hbWUpCisrCS51bGViMTI4IDB4 OAkjIChEV19GT1JNX3N0cmluZykKKysJLnVsZWIxMjggMHgzYQkjIChEV19BVF9kZWNsX2ZpbGUp CisrCS51bGViMTI4IDB4YgkjIChEV19GT1JNX2RhdGExKQorKwkudWxlYjEyOCAweDNiCSMgKERX X0FUX2RlY2xfbGluZSkKKysJLnVsZWIxMjggMHhiCSMgKERXX0ZPUk1fZGF0YTEpCisrCS51bGVi MTI4IDB4NDkJIyAoRFdfQVRfdHlwZSkKKysJLnVsZWIxMjggMHgxMwkjIChEV19GT1JNX3JlZjQp CisrCS5ieXRlCTAKKysJLmJ5dGUJMAorKwkudWxlYjEyOCAweDQJIyAoYWJicmV2IGNvZGUpCisr CS51bGViMTI4IDB4MjQJIyAoVEFHOiBEV19UQUdfYmFzZV90eXBlKQorKwkuYnl0ZQkwCSMgRFdf Y2hpbGRyZW5fbm8KKysJLnVsZWIxMjggMHhiCSMgKERXX0FUX2J5dGVfc2l6ZSkKKysJLnVsZWIx MjggMHhiCSMgKERXX0ZPUk1fZGF0YTEpCisrCS51bGViMTI4IDB4M2UJIyAoRFdfQVRfZW5jb2Rp bmcpCisrCS51bGViMTI4IDB4YgkjIChEV19GT1JNX2RhdGExKQorKwkudWxlYjEyOCAweDMJIyAo RFdfQVRfbmFtZSkKKysJLnVsZWIxMjggMHg4CSMgKERXX0ZPUk1fc3RyaW5nKQorKwkuYnl0ZQkw CisrCS5ieXRlCTAKKysJLnVsZWIxMjggMHg1CSMgKGFiYnJldiBjb2RlKQorKwkudWxlYjEyOCAw eDI2CSMgKFRBRzogRFdfVEFHX2NvbnN0X3R5cGUpCisrCS5ieXRlCTAJIyBEV19jaGlsZHJlbl9u bworKwkudWxlYjEyOCAweDQ5CSMgKERXX0FUX3R5cGUpCisrCS51bGViMTI4IDB4MTMJIyAoRFdf Rk9STV9yZWY0KQorKwkuYnl0ZQkwCisrCS5ieXRlCTAKKysJLnVsZWIxMjggMHg2CSMgKGFiYnJl diBjb2RlKQorKwkudWxlYjEyOCAweDEwCSMgKFRBRzogRFdfVEFHX3JlZmVyZW5jZV90eXBlKQor KwkuYnl0ZQkwCSMgRFdfY2hpbGRyZW5fbm8KKysJLnVsZWIxMjggMHhiCSMgKERXX0FUX2J5dGVf c2l6ZSkKKysJLnVsZWIxMjggMHhiCSMgKERXX0ZPUk1fZGF0YTEpCisrCS51bGViMTI4IDB4NDkJ IyAoRFdfQVRfdHlwZSkKKysJLnVsZWIxMjggMHgxMwkjIChEV19GT1JNX3JlZjQpCisrCS5ieXRl CTAKKysJLmJ5dGUJMAorKwkudWxlYjEyOCAweDcJIyAoYWJicmV2IGNvZGUpCisrCS51bGViMTI4 IDB4MmUJIyAoVEFHOiBEV19UQUdfc3VicHJvZ3JhbSkKKysJLmJ5dGUJMHgxCSMgRFdfY2hpbGRy ZW5feWVzCisrCS51bGViMTI4IDB4MzEJIyAoRFdfQVRfYWJzdHJhY3Rfb3JpZ2luKQorKwkudWxl YjEyOCAweDEzCSMgKERXX0ZPUk1fcmVmNCkKKysJLnVsZWIxMjggMHgxMQkjIChEV19BVF9sb3df cGMpCisrCS51bGViMTI4IDB4MQkjIChEV19GT1JNX2FkZHIpCisrCS51bGViMTI4IDB4MTIJIyAo RFdfQVRfaGlnaF9wYykKKysJLnVsZWIxMjggMHg3CSMgKERXX0ZPUk1fZGF0YTgpCisrCS51bGVi MTI4IDB4NDAJIyAoRFdfQVRfZnJhbWVfYmFzZSkKKysJLnVsZWIxMjggMHgxOAkjIChEV19GT1JN X2V4cHJsb2MpCisrCS51bGViMTI4IDB4MjExNwkjIChEV19BVF9HTlVfYWxsX2NhbGxfc2l0ZXMp CisrCS51bGViMTI4IDB4MTkJIyAoRFdfRk9STV9mbGFnX3ByZXNlbnQpCisrCS5ieXRlCTAKKysJ LmJ5dGUJMAorKwkudWxlYjEyOCAweDgJIyAoYWJicmV2IGNvZGUpCisrCS51bGViMTI4IDB4NQkj IChUQUc6IERXX1RBR19mb3JtYWxfcGFyYW1ldGVyKQorKwkuYnl0ZQkwCSMgRFdfY2hpbGRyZW5f bm8KKysJLnVsZWIxMjggMHgzMQkjIChEV19BVF9hYnN0cmFjdF9vcmlnaW4pCisrCS51bGViMTI4 IDB4MTMJIyAoRFdfRk9STV9yZWY0KQorKwkudWxlYjEyOCAweDIJIyAoRFdfQVRfbG9jYXRpb24p CisrCS51bGViMTI4IDB4MTgJIyAoRFdfRk9STV9leHBybG9jKQorKwkuYnl0ZQkwCisrCS5ieXRl CTAKKysJLnVsZWIxMjggMHg5CSMgKGFiYnJldiBjb2RlKQorKwkudWxlYjEyOCAweDJlCSMgKFRB RzogRFdfVEFHX3N1YnByb2dyYW0pCisrCS5ieXRlCTB4MQkjIERXX2NoaWxkcmVuX3llcworKwku dWxlYjEyOCAweDNmCSMgKERXX0FUX2V4dGVybmFsKQorKwkudWxlYjEyOCAweDE5CSMgKERXX0ZP Uk1fZmxhZ19wcmVzZW50KQorKwkudWxlYjEyOCAweDMJIyAoRFdfQVRfbmFtZSkKKysJLnVsZWIx MjggMHhlCSMgKERXX0ZPUk1fc3RycCkKKysJLnVsZWIxMjggMHgzYQkjIChEV19BVF9kZWNsX2Zp bGUpCisrCS51bGViMTI4IDB4YgkjIChEV19GT1JNX2RhdGExKQorKwkudWxlYjEyOCAweDNiCSMg KERXX0FUX2RlY2xfbGluZSkKKysJLnVsZWIxMjggMHhiCSMgKERXX0ZPUk1fZGF0YTEpCisrCS51 bGViMTI4IDB4NDkJIyAoRFdfQVRfdHlwZSkKKysJLnVsZWIxMjggMHgxMwkjIChEV19GT1JNX3Jl ZjQpCisrCS51bGViMTI4IDB4MTEJIyAoRFdfQVRfbG93X3BjKQorKwkudWxlYjEyOCAweDEJIyAo RFdfRk9STV9hZGRyKQorKwkudWxlYjEyOCAweDEyCSMgKERXX0FUX2hpZ2hfcGMpCisrCS51bGVi MTI4IDB4NwkjIChEV19GT1JNX2RhdGE4KQorKwkudWxlYjEyOCAweDQwCSMgKERXX0FUX2ZyYW1l X2Jhc2UpCisrCS51bGViMTI4IDB4MTgJIyAoRFdfRk9STV9leHBybG9jKQorKwkudWxlYjEyOCAw eDIxMTcJIyAoRFdfQVRfR05VX2FsbF9jYWxsX3NpdGVzKQorKwkudWxlYjEyOCAweDE5CSMgKERX X0ZPUk1fZmxhZ19wcmVzZW50KQorKwkuYnl0ZQkwCisrCS5ieXRlCTAKKysJLnVsZWIxMjggMHhh CSMgKGFiYnJldiBjb2RlKQorKwkudWxlYjEyOCAweGIJIyAoVEFHOiBEV19UQUdfbGV4aWNhbF9i bG9jaykKKysJLmJ5dGUJMHgxCSMgRFdfY2hpbGRyZW5feWVzCisrCS51bGViMTI4IDB4MTEJIyAo RFdfQVRfbG93X3BjKQorKwkudWxlYjEyOCAweDEJIyAoRFdfRk9STV9hZGRyKQorKwkudWxlYjEy OCAweDEyCSMgKERXX0FUX2hpZ2hfcGMpCisrCS51bGViMTI4IDB4NwkjIChEV19GT1JNX2RhdGE4 KQorKwkuYnl0ZQkwCisrCS5ieXRlCTAKKysJLnVsZWIxMjggMHhiCSMgKGFiYnJldiBjb2RlKQor KwkudWxlYjEyOCAweDM0CSMgKFRBRzogRFdfVEFHX3ZhcmlhYmxlKQorKwkuYnl0ZQkwCSMgRFdf Y2hpbGRyZW5fbm8KKysJLnVsZWIxMjggMHgzCSMgKERXX0FUX25hbWUpCisrCS51bGViMTI4IDB4 OAkjIChEV19GT1JNX3N0cmluZykKKysJLnVsZWIxMjggMHgzYQkjIChEV19BVF9kZWNsX2ZpbGUp CisrCS51bGViMTI4IDB4YgkjIChEV19GT1JNX2RhdGExKQorKwkudWxlYjEyOCAweDNiCSMgKERX X0FUX2RlY2xfbGluZSkKKysJLnVsZWIxMjggMHhiCSMgKERXX0ZPUk1fZGF0YTEpCisrCS51bGVi MTI4IDB4NDkJIyAoRFdfQVRfdHlwZSkKKysJLnVsZWIxMjggMHgxMwkjIChEV19GT1JNX3JlZjQp CisrCS51bGViMTI4IDB4MgkjIChEV19BVF9sb2NhdGlvbikKKysJLnVsZWIxMjggMHgxOAkjIChE V19GT1JNX2V4cHJsb2MpCisrCS5ieXRlCTAKKysJLmJ5dGUJMAorKwkudWxlYjEyOCAweGMJIyAo YWJicmV2IGNvZGUpCisrCS51bGViMTI4IDB4NDEwOQkjIChUQUc6IERXX1RBR19HTlVfY2FsbF9z aXRlKQorKwkuYnl0ZQkweDEJIyBEV19jaGlsZHJlbl95ZXMKKysJLnVsZWIxMjggMHgxMQkjIChE V19BVF9sb3dfcGMpCisrCS51bGViMTI4IDB4MQkjIChEV19GT1JNX2FkZHIpCisrCS51bGViMTI4 IDB4MzEJIyAoRFdfQVRfYWJzdHJhY3Rfb3JpZ2luKQorKwkudWxlYjEyOCAweDEzCSMgKERXX0ZP Uk1fcmVmNCkKKysJLmJ5dGUJMAorKwkuYnl0ZQkwCisrCS51bGViMTI4IDB4ZAkjIChhYmJyZXYg Y29kZSkKKysJLnVsZWIxMjggMHg0MTBhCSMgKFRBRzogRFdfVEFHX0dOVV9jYWxsX3NpdGVfcGFy YW1ldGVyKQorKwkuYnl0ZQkwCSMgRFdfY2hpbGRyZW5fbm8KKysJLnVsZWIxMjggMHgyCSMgKERX X0FUX2xvY2F0aW9uKQorKwkudWxlYjEyOCAweDE4CSMgKERXX0ZPUk1fZXhwcmxvYykKKysJLnVs ZWIxMjggMHgyMTExCSMgKERXX0FUX0dOVV9jYWxsX3NpdGVfdmFsdWUpCisrCS51bGViMTI4IDB4 MTgJIyAoRFdfRk9STV9leHBybG9jKQorKwkudWxlYjEyOCAweDIxMTIJIyAoRFdfQVRfR05VX2Nh bGxfc2l0ZV9kYXRhX3ZhbHVlKQorKwkudWxlYjEyOCAweDE4CSMgKERXX0ZPUk1fZXhwcmxvYykK KysJLmJ5dGUJMAorKwkuYnl0ZQkwCisrCS51bGViMTI4IDB4ZQkjIChhYmJyZXYgY29kZSkKKysJ LnVsZWIxMjggMHgzNAkjIChUQUc6IERXX1RBR192YXJpYWJsZSkKKysJLmJ5dGUJMAkjIERXX2No aWxkcmVuX25vCisrCS51bGViMTI4IDB4MwkjIChEV19BVF9uYW1lKQorKwkudWxlYjEyOCAweDgJ IyAoRFdfRk9STV9zdHJpbmcpCisrCS51bGViMTI4IDB4M2EJIyAoRFdfQVRfZGVjbF9maWxlKQor KwkudWxlYjEyOCAweGIJIyAoRFdfRk9STV9kYXRhMSkKKysJLnVsZWIxMjggMHgzYgkjIChEV19B VF9kZWNsX2xpbmUpCisrCS51bGViMTI4IDB4YgkjIChEV19GT1JNX2RhdGExKQorKwkudWxlYjEy OCAweDQ5CSMgKERXX0FUX3R5cGUpCisrCS51bGViMTI4IDB4MTMJIyAoRFdfRk9STV9yZWY0KQor KwkudWxlYjEyOCAweDNmCSMgKERXX0FUX2V4dGVybmFsKQorKwkudWxlYjEyOCAweDE5CSMgKERX X0ZPUk1fZmxhZ19wcmVzZW50KQorKwkudWxlYjEyOCAweDIJIyAoRFdfQVRfbG9jYXRpb24pCisr CS51bGViMTI4IDB4MTgJIyAoRFdfRk9STV9leHBybG9jKQorKwkuYnl0ZQkwCisrCS5ieXRlCTAK KysJLnVsZWIxMjggMHhmCSMgKGFiYnJldiBjb2RlKQorKwkudWxlYjEyOCAweDM1CSMgKFRBRzog RFdfVEFHX3ZvbGF0aWxlX3R5cGUpCisrCS5ieXRlCTAJIyBEV19jaGlsZHJlbl9ubworKwkudWxl YjEyOCAweDQ5CSMgKERXX0FUX3R5cGUpCisrCS51bGViMTI4IDB4MTMJIyAoRFdfRk9STV9yZWY0 KQorKwkuYnl0ZQkwCisrCS5ieXRlCTAKKysJLnVsZWIxMjggMHgxMAkjIChhYmJyZXYgY29kZSkK KysJLnVsZWIxMjggMHhmCSMgKFRBRzogRFdfVEFHX3BvaW50ZXJfdHlwZSkKKysJLmJ5dGUJMAkj IERXX2NoaWxkcmVuX25vCisrCS51bGViMTI4IDB4YgkjIChEV19BVF9ieXRlX3NpemUpCisrCS51 bGViMTI4IDB4YgkjIChEV19GT1JNX2RhdGExKQorKwkudWxlYjEyOCAweDQ5CSMgKERXX0FUX3R5 cGUpCisrCS51bGViMTI4IDB4MTMJIyAoRFdfRk9STV9yZWY0KQorKwkuYnl0ZQkwCisrCS5ieXRl CTAKKysJLmJ5dGUJMAorKwkuc2VjdGlvbgkuZGVidWdfYXJhbmdlcywiIixAcHJvZ2JpdHMKKysJ LmxvbmcJMHgzYwkjIExlbmd0aCBvZiBBZGRyZXNzIFJhbmdlcyBJbmZvCisrCS52YWx1ZQkweDIJ IyBEV0FSRiBWZXJzaW9uCisrCS5sb25nCS5MZGVidWdfaW5mbzAJIyBPZmZzZXQgb2YgQ29tcGls YXRpb24gVW5pdCBJbmZvCisrCS5ieXRlCTB4OAkjIFNpemUgb2YgQWRkcmVzcworKwkuYnl0ZQkw CSMgU2l6ZSBvZiBTZWdtZW50IERlc2NyaXB0b3IKKysJLnZhbHVlCTAJIyBQYWQgdG8gMTYgYnl0 ZSBib3VuZGFyeQorKwkudmFsdWUJMAorKwkucXVhZAkuTHRleHQwCSMgQWRkcmVzcworKwkucXVh ZAkuTGV0ZXh0MC0uTHRleHQwCSMgTGVuZ3RoCisrCS5xdWFkCS5MRkIxCSMgQWRkcmVzcworKwku cXVhZAkuTEZFMS0uTEZCMQkjIExlbmd0aAorKwkucXVhZAkwCisrCS5xdWFkCTAKKysJLnNlY3Rp b24JLmRlYnVnX3JhbmdlcywiIixAcHJvZ2JpdHMKKysuTGRlYnVnX3JhbmdlczA6CisrCS5xdWFk CS5MdGV4dDAJIyBPZmZzZXQgMAorKwkucXVhZAkuTGV0ZXh0MAorKwkucXVhZAkuTEZCMQkjIE9m ZnNldCAweDEwCisrCS5xdWFkCS5MRkUxCisrCS5xdWFkCTAKKysJLnF1YWQJMAorKwkuc2VjdGlv bgkuZGVidWdfbGluZSwiIixAcHJvZ2JpdHMKKysuTGRlYnVnX2xpbmUwOgorKwkuc2VjdGlvbgku ZGVidWdfc3RyLCJNUyIsQHByb2diaXRzLDEKKysuTEFTRjE6CisrCS5zdHJpbmcJImdkYi5hcmNo L2FtZDY0LWVudHJ5LXZhbHVlLXBhcmFtcmVmLmNjIgorKy5MQVNGMjoKKysJLnN0cmluZwkiIgor Ky5MQVNGMDoKKysJLnN0cmluZwkiR05VIEMrKyA0LjguMiAyMDEzMTIxMiAoUmVkIEhhdCA0Ljgu Mi03KSAtbXR1bmU9Z2VuZXJpYyAtbWFyY2g9eDg2LTY0IC1nIC1PMiIKKysuTEFTRjM6CisrCS5z dHJpbmcJIm1haW4iCisrCS5pZGVudAkiR0NDOiAoR05VKSA0LjguMiAyMDEzMTIxMiAoUmVkIEhh dCA0LjguMi03KSIKKysJLnNlY3Rpb24JLm5vdGUuR05VLXN0YWNrLCIiLEBwcm9nYml0cworZGlm ZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvYW1kNjQtZW50cnktdmFsdWUtcGFyYW1y ZWYuY2MgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2FtZDY0LWVudHJ5LXZhbHVlLXBhcmFtcmVm LmNjCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uYWE0NzNhMworLS0tIC9k ZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9hbWQ2NC1lbnRyeS12YWx1ZS1w YXJhbXJlZi5jYworQEAgLTAsMCArMSwzMyBAQAorKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBv ZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCisrCisrICAgQ29weXJpZ2h0IDIwMTQgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdh cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysgICBpdCB1bmRlciB0 aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi eQorKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2Yg dGhlIExpY2Vuc2UsIG9yCisrICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K KysKKysgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3 aWxsIGJlIHVzZWZ1bCwKKysgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysgICBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKworKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNl aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrICAgYWxvbmcg d2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vu c2VzLz4uICAqLworKworK3ZvbGF0aWxlIGludCB2diwgKnA7CisrCisrc3RhdGljIF9fYXR0cmli dXRlX18oKG5vaW5saW5lKSkgaW50CisrYmFyIChpbnQgJnJlZikKKyt7CisrICB2disrOyAvKiBi cmVhay1oZXJlICovCisrICBwID0gJnJlZjsKKysgIHJldHVybiByZWY7CisrfQorKworK2ludAor K21haW4gKHZvaWQpCisreworKyAgaW50IHZhciA9IDEwOworKyAgcmV0dXJuIGJhciAodmFyKTsK Kyt9CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9hbWQ2NC1lbnRyeS12YWx1 ZS1wYXJhbXJlZi5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2FtZDY0LWVudHJ5LXZhbHVl LXBhcmFtcmVmLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmYwNjI0 N2QKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvYW1kNjQtZW50 cnktdmFsdWUtcGFyYW1yZWYuZXhwCitAQCAtMCwwICsxLDM1IEBACisrIyBDb3B5cmlnaHQgKEMp IDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrIworKyMgVGhpcyBwcm9ncmFt IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkK KysjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug YXMgcHVibGlzaGVkIGJ5CisrIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIg dmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0 ZXIgdmVyc2lvbi4KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrIyBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrIyBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyMKKysjIFlvdSBzaG91bGQg aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisr IyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5v cmcvbGljZW5zZXMvPi4KKysKKytzdGFuZGFyZF90ZXN0ZmlsZSAuUyAuY2MKKysKKytpZiB7ICFb aXN0YXJnZXQgeDg2XzY0LSotKiBdIHx8ICFbaXNfbHA2NF90YXJnZXRdIH0geworKyAgICB2ZXJi b3NlICJTa2lwcGluZyBhbWQ2NC1lbnRyeS12YWx1ZS1wYXJhbXJlZi4iCisrICAgIHJldHVybgor K30KKysKKytpZiB7IFtwcmVwYXJlX2Zvcl90ZXN0aW5nICR7dGVzdGZpbGV9LmV4cCAke3Rlc3Rm aWxlfSAke3NyY2ZpbGV9ICJjKysiXSB9IHsKKysgICAgcmV0dXJuIC0xCisrfQorKworK2lmICFb cnVudG9fbWFpbl0geworKyAgICByZXR1cm4gLTEKKyt9CisrCisrc2V0IHNyY2ZpbGUgJHNyY2Zp bGUyCisrZ2RiX2JyZWFrcG9pbnQgW2dkYl9nZXRfbGluZV9udW1iZXIgImJyZWFrLWhlcmUiXQor KworK2dkYl9jb250aW51ZV90b19icmVha3BvaW50ICJicmVhay1oZXJlIiAiLiogYnJlYWstaGVy ZSAuKiIKKytnZGJfdGVzdCAiZnJhbWUiIHtiYXIgXChyZWY9QDB4WzAtOWEtZl0rOiAxMCwgcmVm QGVudHJ5PUAweFswLTlhLWZdKzogPG9wdGltaXplZCBvdXQ+XCkgYXQgLip9CitkaWZmIC0tZ2l0 IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9hbWQ2NC1vcHRpbW91dC1yZXBlYXQuUyBiL2dkYi90 ZXN0c3VpdGUvZ2RiLmFyY2gvYW1kNjQtb3B0aW1vdXQtcmVwZWF0LlMKK25ldyBmaWxlIG1vZGUg MTAwNjQ0CitpbmRleCAwMDAwMDAwLi4yZjhmNGQyCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIv dGVzdHN1aXRlL2dkYi5hcmNoL2FtZDY0LW9wdGltb3V0LXJlcGVhdC5TCitAQCAtMCwwICsxLDI5 NyBAQAorKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIu CisrCisrICAgQ29weXJpZ2h0IDIwMTItMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrICAgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysg ICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKworKyAgIFRoaXMgcHJvZ3Jh bSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAg IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mCisrICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiAgU2VlIHRoZQorKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl IGRldGFpbHMuCisrCisrICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4g IElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisrCisrLyog VGhpcyBmaWxlIGlzIGNvbXBpbGVkIGZyb20gZ2RiLmFyY2gvYW1kNjQtZW50cnktdmFsdWUtcGFy YW0uYworKyAgIHVzaW5nIC1nIC1kQSAtUyAtTzIuICAqLworKworKwkuZmlsZQkiYW1kNjQtb3B0 aW1vdXQtcmVwZWF0LmMiCisrCS50ZXh0CisrLkx0ZXh0MDoKKysJLnNlY3Rpb24JLnRleHQudW5s aWtlbHksImF4IixAcHJvZ2JpdHMKKysuTENPTERCMDoKKysJLnNlY3Rpb24JLnRleHQuc3RhcnR1 cCwiYXgiLEBwcm9nYml0cworKy5MSE9UQjA6CisrCS5wMmFsaWduIDQsLDE1CisrCS5zZWN0aW9u CS50ZXh0LnVubGlrZWx5CisrLkx0ZXh0X2NvbGQwOgorKwkuc2VjdGlvbgkudGV4dC5zdGFydHVw CisrCS5nbG9ibAltYWluCisrCS50eXBlCW1haW4sIEBmdW5jdGlvbgorK21haW46CisrLkxGQjA6 CisrCS5maWxlIDEgImdkYi5hcmNoL2FtZDY0LW9wdGltb3V0LXJlcGVhdC5jIgorKwkjIGdkYi5h cmNoL2FtZDY0LW9wdGltb3V0LXJlcGVhdC5jOjIwCisrCS5sb2MgMSAyMCAwCisrCS5jZmlfc3Rh cnRwcm9jCisrIyBCTE9DSyAyIGZyZXE6MTAwMDAgc2VxOjAKKysjIFBSRUQ6IEVOVFJZIFsxMDAu MCVdICAoRkFMTFRIUlUpCisrLkxWTDA6CisrCSMgZ2RiLmFyY2gvYW1kNjQtb3B0aW1vdXQtcmVw ZWF0LmM6MjkKKysJLmxvYyAxIDI5IDAKKysJeG9ybAklZWF4LCAlZWF4CisrIyBTVUNDOiBFWElU IFsxMDAuMCVdIAorKwlyZXQKKysJLmNmaV9lbmRwcm9jCisrLkxGRTA6CisrCS5zaXplCW1haW4s IC4tbWFpbgorKwkuc2VjdGlvbgkudGV4dC51bmxpa2VseQorKy5MQ09MREUwOgorKwkuc2VjdGlv bgkudGV4dC5zdGFydHVwCisrLkxIT1RFMDoKKysJLnRleHQKKysuTGV0ZXh0MDoKKysJLnNlY3Rp b24JLnRleHQudW5saWtlbHkKKysuTGV0ZXh0X2NvbGQwOgorKwkuc2VjdGlvbgkuZGVidWdfaW5m bywiIixAcHJvZ2JpdHMKKysuTGRlYnVnX2luZm8wOgorKwkubG9uZwkweDk3CSMgTGVuZ3RoIG9m IENvbXBpbGF0aW9uIFVuaXQgSW5mbworKwkudmFsdWUJMHg0CSMgRFdBUkYgdmVyc2lvbiBudW1i ZXIKKysJLmxvbmcJLkxkZWJ1Z19hYmJyZXYwCSMgT2Zmc2V0IEludG8gQWJicmV2LiBTZWN0aW9u CisrCS5ieXRlCTB4OAkjIFBvaW50ZXIgU2l6ZSAoaW4gYnl0ZXMpCisrCS51bGViMTI4IDB4MQkj IChESUUgKDB4YikgRFdfVEFHX2NvbXBpbGVfdW5pdCkKKysJLmxvbmcJLkxBU0YxCSMgRFdfQVRf cHJvZHVjZXI6ICJHTlUgQyA0LjkuMSAyMDE0MDcwOSAocHJlcmVsZWFzZSkgLW10dW5lPWdlbmVy aWMgLW1hcmNoPXg4Ni02NCAtZyAtTzIiCisrCS5ieXRlCTB4MQkjIERXX0FUX2xhbmd1YWdlCisr CS5sb25nCS5MQVNGMgkjIERXX0FUX25hbWU6ICJnZGIuYXJjaC9hbWQ2NC1vcHRpbW91dC1yZXBl YXQuYyIKKysJLmxvbmcJLkxBU0YzCSMgRFdfQVRfY29tcF9kaXI6ICIiCisrCS5sb25nCS5MZGVi dWdfcmFuZ2VzMCswCSMgRFdfQVRfcmFuZ2VzCisrCS5xdWFkCTAJIyBEV19BVF9sb3dfcGMKKysJ LmxvbmcJLkxkZWJ1Z19saW5lMAkjIERXX0FUX3N0bXRfbGlzdAorKwkudWxlYjEyOCAweDIJIyAo RElFICgweDI5KSBEV19UQUdfc3VicHJvZ3JhbSkKKysJCQkjIERXX0FUX2V4dGVybmFsCisrCS5s b25nCS5MQVNGNAkjIERXX0FUX25hbWU6ICJtYWluIgorKwkuYnl0ZQkweDEJIyBEV19BVF9kZWNs X2ZpbGUgKGdkYi5hcmNoL2FtZDY0LW9wdGltb3V0LXJlcGVhdC5jKQorKwkuYnl0ZQkweDEzCSMg RFdfQVRfZGVjbF9saW5lCisrCQkJIyBEV19BVF9wcm90b3R5cGVkCisrCS5sb25nCTB4N2MJIyBE V19BVF90eXBlCisrCS5xdWFkCS5MRkIwCSMgRFdfQVRfbG93X3BjCisrCS5xdWFkCS5MRkUwLS5M RkIwCSMgRFdfQVRfaGlnaF9wYworKwkudWxlYjEyOCAweDEJIyBEV19BVF9mcmFtZV9iYXNlCisr CS5ieXRlCTB4OWMJIyBEV19PUF9jYWxsX2ZyYW1lX2NmYQorKwkJCSMgRFdfQVRfR05VX2FsbF9j YWxsX3NpdGVzCisrCS5sb25nCTB4N2MJIyBEV19BVF9zaWJsaW5nCisrCS51bGViMTI4IDB4Mwkj IChESUUgKDB4NGEpIERXX1RBR19zdHJ1Y3R1cmVfdHlwZSkKKysJLnZhbHVlCTB4NDA0CSMgRFdf QVRfYnl0ZV9zaXplCisrCS5ieXRlCTB4MQkjIERXX0FUX2RlY2xfZmlsZSAoZ2RiLmFyY2gvYW1k NjQtb3B0aW1vdXQtcmVwZWF0LmMpCisrCS5ieXRlCTB4MTUJIyBEV19BVF9kZWNsX2xpbmUKKysJ LmxvbmcJMHg2YQkjIERXX0FUX3NpYmxpbmcKKysJLnVsZWIxMjggMHg0CSMgKERJRSAoMHg1Mykg RFdfVEFHX21lbWJlcikKKysJLmFzY2lpICJpXDAiCSMgRFdfQVRfbmFtZQorKwkuYnl0ZQkweDEJ IyBEV19BVF9kZWNsX2ZpbGUgKGdkYi5hcmNoL2FtZDY0LW9wdGltb3V0LXJlcGVhdC5jKQorKwku Ynl0ZQkweDE3CSMgRFdfQVRfZGVjbF9saW5lCisrCS5sb25nCTB4N2MJIyBEV19BVF90eXBlCisr CS5ieXRlCTAJIyBEV19BVF9kYXRhX21lbWJlcl9sb2NhdGlvbgorKwkudWxlYjEyOCAweDQJIyAo RElFICgweDVkKSBEV19UQUdfbWVtYmVyKQorKwkuYXNjaWkgInh4eFwwIgkjIERXX0FUX25hbWUK KysJLmJ5dGUJMHgxCSMgRFdfQVRfZGVjbF9maWxlIChnZGIuYXJjaC9hbWQ2NC1vcHRpbW91dC1y ZXBlYXQuYykKKysJLmJ5dGUJMHgxOAkjIERXX0FUX2RlY2xfbGluZQorKwkubG9uZwkweDgzCSMg RFdfQVRfdHlwZQorKwkuYnl0ZQkweDQJIyBEV19BVF9kYXRhX21lbWJlcl9sb2NhdGlvbgorKwku Ynl0ZQkwCSMgZW5kIG9mIGNoaWxkcmVuIG9mIERJRSAweDRhCisrCS51bGViMTI4IDB4NQkjIChE SUUgKDB4NmEpIERXX1RBR192YXJpYWJsZSkKKysJLmFzY2lpICJ2XDAiCSMgRFdfQVRfbmFtZQor KwkuYnl0ZQkweDEJIyBEV19BVF9kZWNsX2ZpbGUgKGdkYi5hcmNoL2FtZDY0LW9wdGltb3V0LXJl cGVhdC5jKQorKwkuYnl0ZQkweDFhCSMgRFdfQVRfZGVjbF9saW5lCisrCS5sb25nCTB4NGEJIyBE V19BVF90eXBlCisrCS51bGViMTI4IDB4NwkjIERXX0FUX2xvY2F0aW9uCisrCS5ieXRlCTB4MzAJ IyBEV19PUF9saXQwCisrCS5ieXRlCTB4OWYJIyBEV19PUF9zdGFja192YWx1ZQorKwkuYnl0ZQkw eDkzCSMgRFdfT1BfcGllY2UKKysJLnVsZWIxMjggMHg0CisrCS5ieXRlCTB4OTMJIyBEV19PUF9w aWVjZQorKwkudWxlYjEyOCAweDQwMAorKwkuYnl0ZQkwCSMgZW5kIG9mIGNoaWxkcmVuIG9mIERJ RSAweDI5CisrCS51bGViMTI4IDB4NgkjIChESUUgKDB4N2MpIERXX1RBR19iYXNlX3R5cGUpCisr CS5ieXRlCTB4NAkjIERXX0FUX2J5dGVfc2l6ZQorKwkuYnl0ZQkweDUJIyBEV19BVF9lbmNvZGlu ZworKwkuYXNjaWkgImludFwwIgkjIERXX0FUX25hbWUKKysJLnVsZWIxMjggMHg3CSMgKERJRSAo MHg4MykgRFdfVEFHX2FycmF5X3R5cGUpCisrCS5sb25nCTB4N2MJIyBEV19BVF90eXBlCisrCS5s b25nCTB4OTMJIyBEV19BVF9zaWJsaW5nCisrCS51bGViMTI4IDB4OAkjIChESUUgKDB4OGMpIERX X1RBR19zdWJyYW5nZV90eXBlKQorKwkubG9uZwkweDkzCSMgRFdfQVRfdHlwZQorKwkuYnl0ZQkw eGZmCSMgRFdfQVRfdXBwZXJfYm91bmQKKysJLmJ5dGUJMAkjIGVuZCBvZiBjaGlsZHJlbiBvZiBE SUUgMHg4MworKwkudWxlYjEyOCAweDkJIyAoRElFICgweDkzKSBEV19UQUdfYmFzZV90eXBlKQor KwkuYnl0ZQkweDgJIyBEV19BVF9ieXRlX3NpemUKKysJLmJ5dGUJMHg3CSMgRFdfQVRfZW5jb2Rp bmcKKysJLmxvbmcJLkxBU0YwCSMgRFdfQVRfbmFtZTogInNpemV0eXBlIgorKwkuYnl0ZQkwCSMg ZW5kIG9mIGNoaWxkcmVuIG9mIERJRSAweGIKKysJLnNlY3Rpb24JLmRlYnVnX2FiYnJldiwiIixA cHJvZ2JpdHMKKysuTGRlYnVnX2FiYnJldjA6CisrCS51bGViMTI4IDB4MQkjIChhYmJyZXYgY29k ZSkKKysJLnVsZWIxMjggMHgxMQkjIChUQUc6IERXX1RBR19jb21waWxlX3VuaXQpCisrCS5ieXRl CTB4MQkjIERXX2NoaWxkcmVuX3llcworKwkudWxlYjEyOCAweDI1CSMgKERXX0FUX3Byb2R1Y2Vy KQorKwkudWxlYjEyOCAweGUJIyAoRFdfRk9STV9zdHJwKQorKwkudWxlYjEyOCAweDEzCSMgKERX X0FUX2xhbmd1YWdlKQorKwkudWxlYjEyOCAweGIJIyAoRFdfRk9STV9kYXRhMSkKKysJLnVsZWIx MjggMHgzCSMgKERXX0FUX25hbWUpCisrCS51bGViMTI4IDB4ZQkjIChEV19GT1JNX3N0cnApCisr CS51bGViMTI4IDB4MWIJIyAoRFdfQVRfY29tcF9kaXIpCisrCS51bGViMTI4IDB4ZQkjIChEV19G T1JNX3N0cnApCisrCS51bGViMTI4IDB4NTUJIyAoRFdfQVRfcmFuZ2VzKQorKwkudWxlYjEyOCAw eDE3CSMgKERXX0ZPUk1fc2VjX29mZnNldCkKKysJLnVsZWIxMjggMHgxMQkjIChEV19BVF9sb3df cGMpCisrCS51bGViMTI4IDB4MQkjIChEV19GT1JNX2FkZHIpCisrCS51bGViMTI4IDB4MTAJIyAo RFdfQVRfc3RtdF9saXN0KQorKwkudWxlYjEyOCAweDE3CSMgKERXX0ZPUk1fc2VjX29mZnNldCkK KysJLmJ5dGUJMAorKwkuYnl0ZQkwCisrCS51bGViMTI4IDB4MgkjIChhYmJyZXYgY29kZSkKKysJ LnVsZWIxMjggMHgyZQkjIChUQUc6IERXX1RBR19zdWJwcm9ncmFtKQorKwkuYnl0ZQkweDEJIyBE V19jaGlsZHJlbl95ZXMKKysJLnVsZWIxMjggMHgzZgkjIChEV19BVF9leHRlcm5hbCkKKysJLnVs ZWIxMjggMHgxOQkjIChEV19GT1JNX2ZsYWdfcHJlc2VudCkKKysJLnVsZWIxMjggMHgzCSMgKERX X0FUX25hbWUpCisrCS51bGViMTI4IDB4ZQkjIChEV19GT1JNX3N0cnApCisrCS51bGViMTI4IDB4 M2EJIyAoRFdfQVRfZGVjbF9maWxlKQorKwkudWxlYjEyOCAweGIJIyAoRFdfRk9STV9kYXRhMSkK KysJLnVsZWIxMjggMHgzYgkjIChEV19BVF9kZWNsX2xpbmUpCisrCS51bGViMTI4IDB4YgkjIChE V19GT1JNX2RhdGExKQorKwkudWxlYjEyOCAweDI3CSMgKERXX0FUX3Byb3RvdHlwZWQpCisrCS51 bGViMTI4IDB4MTkJIyAoRFdfRk9STV9mbGFnX3ByZXNlbnQpCisrCS51bGViMTI4IDB4NDkJIyAo RFdfQVRfdHlwZSkKKysJLnVsZWIxMjggMHgxMwkjIChEV19GT1JNX3JlZjQpCisrCS51bGViMTI4 IDB4MTEJIyAoRFdfQVRfbG93X3BjKQorKwkudWxlYjEyOCAweDEJIyAoRFdfRk9STV9hZGRyKQor KwkudWxlYjEyOCAweDEyCSMgKERXX0FUX2hpZ2hfcGMpCisrCS51bGViMTI4IDB4NwkjIChEV19G T1JNX2RhdGE4KQorKwkudWxlYjEyOCAweDQwCSMgKERXX0FUX2ZyYW1lX2Jhc2UpCisrCS51bGVi MTI4IDB4MTgJIyAoRFdfRk9STV9leHBybG9jKQorKwkudWxlYjEyOCAweDIxMTcJIyAoRFdfQVRf R05VX2FsbF9jYWxsX3NpdGVzKQorKwkudWxlYjEyOCAweDE5CSMgKERXX0ZPUk1fZmxhZ19wcmVz ZW50KQorKwkudWxlYjEyOCAweDEJIyAoRFdfQVRfc2libGluZykKKysJLnVsZWIxMjggMHgxMwkj IChEV19GT1JNX3JlZjQpCisrCS5ieXRlCTAKKysJLmJ5dGUJMAorKwkudWxlYjEyOCAweDMJIyAo YWJicmV2IGNvZGUpCisrCS51bGViMTI4IDB4MTMJIyAoVEFHOiBEV19UQUdfc3RydWN0dXJlX3R5 cGUpCisrCS5ieXRlCTB4MQkjIERXX2NoaWxkcmVuX3llcworKwkudWxlYjEyOCAweGIJIyAoRFdf QVRfYnl0ZV9zaXplKQorKwkudWxlYjEyOCAweDUJIyAoRFdfRk9STV9kYXRhMikKKysJLnVsZWIx MjggMHgzYQkjIChEV19BVF9kZWNsX2ZpbGUpCisrCS51bGViMTI4IDB4YgkjIChEV19GT1JNX2Rh dGExKQorKwkudWxlYjEyOCAweDNiCSMgKERXX0FUX2RlY2xfbGluZSkKKysJLnVsZWIxMjggMHhi CSMgKERXX0ZPUk1fZGF0YTEpCisrCS51bGViMTI4IDB4MQkjIChEV19BVF9zaWJsaW5nKQorKwku dWxlYjEyOCAweDEzCSMgKERXX0ZPUk1fcmVmNCkKKysJLmJ5dGUJMAorKwkuYnl0ZQkwCisrCS51 bGViMTI4IDB4NAkjIChhYmJyZXYgY29kZSkKKysJLnVsZWIxMjggMHhkCSMgKFRBRzogRFdfVEFH X21lbWJlcikKKysJLmJ5dGUJMAkjIERXX2NoaWxkcmVuX25vCisrCS51bGViMTI4IDB4MwkjIChE V19BVF9uYW1lKQorKwkudWxlYjEyOCAweDgJIyAoRFdfRk9STV9zdHJpbmcpCisrCS51bGViMTI4 IDB4M2EJIyAoRFdfQVRfZGVjbF9maWxlKQorKwkudWxlYjEyOCAweGIJIyAoRFdfRk9STV9kYXRh MSkKKysJLnVsZWIxMjggMHgzYgkjIChEV19BVF9kZWNsX2xpbmUpCisrCS51bGViMTI4IDB4Ygkj IChEV19GT1JNX2RhdGExKQorKwkudWxlYjEyOCAweDQ5CSMgKERXX0FUX3R5cGUpCisrCS51bGVi MTI4IDB4MTMJIyAoRFdfRk9STV9yZWY0KQorKwkudWxlYjEyOCAweDM4CSMgKERXX0FUX2RhdGFf bWVtYmVyX2xvY2F0aW9uKQorKwkudWxlYjEyOCAweGIJIyAoRFdfRk9STV9kYXRhMSkKKysJLmJ5 dGUJMAorKwkuYnl0ZQkwCisrCS51bGViMTI4IDB4NQkjIChhYmJyZXYgY29kZSkKKysJLnVsZWIx MjggMHgzNAkjIChUQUc6IERXX1RBR192YXJpYWJsZSkKKysJLmJ5dGUJMAkjIERXX2NoaWxkcmVu X25vCisrCS51bGViMTI4IDB4MwkjIChEV19BVF9uYW1lKQorKwkudWxlYjEyOCAweDgJIyAoRFdf Rk9STV9zdHJpbmcpCisrCS51bGViMTI4IDB4M2EJIyAoRFdfQVRfZGVjbF9maWxlKQorKwkudWxl YjEyOCAweGIJIyAoRFdfRk9STV9kYXRhMSkKKysJLnVsZWIxMjggMHgzYgkjIChEV19BVF9kZWNs X2xpbmUpCisrCS51bGViMTI4IDB4YgkjIChEV19GT1JNX2RhdGExKQorKwkudWxlYjEyOCAweDQ5 CSMgKERXX0FUX3R5cGUpCisrCS51bGViMTI4IDB4MTMJIyAoRFdfRk9STV9yZWY0KQorKwkudWxl YjEyOCAweDIJIyAoRFdfQVRfbG9jYXRpb24pCisrCS51bGViMTI4IDB4MTgJIyAoRFdfRk9STV9l eHBybG9jKQorKwkuYnl0ZQkwCisrCS5ieXRlCTAKKysJLnVsZWIxMjggMHg2CSMgKGFiYnJldiBj b2RlKQorKwkudWxlYjEyOCAweDI0CSMgKFRBRzogRFdfVEFHX2Jhc2VfdHlwZSkKKysJLmJ5dGUJ MAkjIERXX2NoaWxkcmVuX25vCisrCS51bGViMTI4IDB4YgkjIChEV19BVF9ieXRlX3NpemUpCisr CS51bGViMTI4IDB4YgkjIChEV19GT1JNX2RhdGExKQorKwkudWxlYjEyOCAweDNlCSMgKERXX0FU X2VuY29kaW5nKQorKwkudWxlYjEyOCAweGIJIyAoRFdfRk9STV9kYXRhMSkKKysJLnVsZWIxMjgg MHgzCSMgKERXX0FUX25hbWUpCisrCS51bGViMTI4IDB4OAkjIChEV19GT1JNX3N0cmluZykKKysJ LmJ5dGUJMAorKwkuYnl0ZQkwCisrCS51bGViMTI4IDB4NwkjIChhYmJyZXYgY29kZSkKKysJLnVs ZWIxMjggMHgxCSMgKFRBRzogRFdfVEFHX2FycmF5X3R5cGUpCisrCS5ieXRlCTB4MQkjIERXX2No aWxkcmVuX3llcworKwkudWxlYjEyOCAweDQ5CSMgKERXX0FUX3R5cGUpCisrCS51bGViMTI4IDB4 MTMJIyAoRFdfRk9STV9yZWY0KQorKwkudWxlYjEyOCAweDEJIyAoRFdfQVRfc2libGluZykKKysJ LnVsZWIxMjggMHgxMwkjIChEV19GT1JNX3JlZjQpCisrCS5ieXRlCTAKKysJLmJ5dGUJMAorKwku dWxlYjEyOCAweDgJIyAoYWJicmV2IGNvZGUpCisrCS51bGViMTI4IDB4MjEJIyAoVEFHOiBEV19U QUdfc3VicmFuZ2VfdHlwZSkKKysJLmJ5dGUJMAkjIERXX2NoaWxkcmVuX25vCisrCS51bGViMTI4 IDB4NDkJIyAoRFdfQVRfdHlwZSkKKysJLnVsZWIxMjggMHgxMwkjIChEV19GT1JNX3JlZjQpCisr CS51bGViMTI4IDB4MmYJIyAoRFdfQVRfdXBwZXJfYm91bmQpCisrCS51bGViMTI4IDB4YgkjIChE V19GT1JNX2RhdGExKQorKwkuYnl0ZQkwCisrCS5ieXRlCTAKKysJLnVsZWIxMjggMHg5CSMgKGFi YnJldiBjb2RlKQorKwkudWxlYjEyOCAweDI0CSMgKFRBRzogRFdfVEFHX2Jhc2VfdHlwZSkKKysJ LmJ5dGUJMAkjIERXX2NoaWxkcmVuX25vCisrCS51bGViMTI4IDB4YgkjIChEV19BVF9ieXRlX3Np emUpCisrCS51bGViMTI4IDB4YgkjIChEV19GT1JNX2RhdGExKQorKwkudWxlYjEyOCAweDNlCSMg KERXX0FUX2VuY29kaW5nKQorKwkudWxlYjEyOCAweGIJIyAoRFdfRk9STV9kYXRhMSkKKysJLnVs ZWIxMjggMHgzCSMgKERXX0FUX25hbWUpCisrCS51bGViMTI4IDB4ZQkjIChEV19GT1JNX3N0cnAp CisrCS5ieXRlCTAKKysJLmJ5dGUJMAorKwkuYnl0ZQkwCisrCS5zZWN0aW9uCS5kZWJ1Z19hcmFu Z2VzLCIiLEBwcm9nYml0cworKwkubG9uZwkweDJjCSMgTGVuZ3RoIG9mIEFkZHJlc3MgUmFuZ2Vz IEluZm8KKysJLnZhbHVlCTB4MgkjIERXQVJGIFZlcnNpb24KKysJLmxvbmcJLkxkZWJ1Z19pbmZv MAkjIE9mZnNldCBvZiBDb21waWxhdGlvbiBVbml0IEluZm8KKysJLmJ5dGUJMHg4CSMgU2l6ZSBv ZiBBZGRyZXNzCisrCS5ieXRlCTAJIyBTaXplIG9mIFNlZ21lbnQgRGVzY3JpcHRvcgorKwkudmFs dWUJMAkjIFBhZCB0byAxNiBieXRlIGJvdW5kYXJ5CisrCS52YWx1ZQkwCisrCS5xdWFkCS5MRkIw CSMgQWRkcmVzcworKwkucXVhZAkuTEZFMC0uTEZCMAkjIExlbmd0aAorKwkucXVhZAkwCisrCS5x dWFkCTAKKysJLnNlY3Rpb24JLmRlYnVnX3JhbmdlcywiIixAcHJvZ2JpdHMKKysuTGRlYnVnX3Jh bmdlczA6CisrCS5xdWFkCS5MRkIwCSMgT2Zmc2V0IDAKKysJLnF1YWQJLkxGRTAKKysJLnF1YWQJ MAorKwkucXVhZAkwCisrCS5zZWN0aW9uCS5kZWJ1Z19saW5lLCIiLEBwcm9nYml0cworKy5MZGVi dWdfbGluZTA6CisrCS5zZWN0aW9uCS5kZWJ1Z19zdHIsIk1TIixAcHJvZ2JpdHMsMQorKy5MQVNG MDoKKysJLnN0cmluZwkic2l6ZXR5cGUiCisrLkxBU0YyOgorKwkuc3RyaW5nCSJnZGIuYXJjaC9h bWQ2NC1vcHRpbW91dC1yZXBlYXQuYyIKKysuTEFTRjE6CisrCS5zdHJpbmcJIkdOVSBDIDQuOS4x IDIwMTQwNzA5IChwcmVyZWxlYXNlKSAtbXR1bmU9Z2VuZXJpYyAtbWFyY2g9eDg2LTY0IC1nIC1P MiIKKysuTEFTRjM6CisrCS5zdHJpbmcJIiIKKysuTEFTRjQ6CisrCS5zdHJpbmcJIm1haW4iCisr CS5pZGVudAkiR0NDOiAoR05VKSA0LjkuMSAyMDE0MDcwOSAocHJlcmVsZWFzZSkiCisrCS5zZWN0 aW9uCS5ub3RlLkdOVS1zdGFjaywiIixAcHJvZ2JpdHMKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1 aXRlL2dkYi5hcmNoL2FtZDY0LW9wdGltb3V0LXJlcGVhdC5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu YXJjaC9hbWQ2NC1vcHRpbW91dC1yZXBlYXQuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4 IDAwMDAwMDAuLmEzMmI2ZGUKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmFyY2gvYW1kNjQtb3B0aW1vdXQtcmVwZWF0LmMKK0BAIC0wLDAgKzEsMjkgQEAKKysvKiBUaGlz IHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgorKworKyAgIENvcHly aWdodCAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorKworKyAgIFRoaXMgcHJv Z3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9k aWZ5CisrICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl aXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyAgIChhdCB5b3VyIG9wdGlvbikg YW55IGxhdGVyIHZlcnNpb24uCisrCisrICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGlu IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICAgYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysgICBNRVJDSEFO VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisr ICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysKKysgICBZ b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZQorKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6 Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KKysKKytpbnQKKyttYWluICh2b2lkKQorK3sK KysgIHN0cnVjdAorKyAgICB7CisrICAgICAgaW50IGk7CisrICAgICAgaW50IHh4eFsweDEwMF07 CisrICAgIH0KKysgIHYgPSB7IDAgfTsKKysKKysgIHJldHVybiB2Lmk7CisrfQorZGlmZiAtLWdp dCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvYW1kNjQtb3B0aW1vdXQtcmVwZWF0LmV4cCBiL2dk Yi90ZXN0c3VpdGUvZ2RiLmFyY2gvYW1kNjQtb3B0aW1vdXQtcmVwZWF0LmV4cAorbmV3IGZpbGUg bW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmYzYzkzYTQKKy0tLSAvZGV2L251bGwKKysrKyBi L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvYW1kNjQtb3B0aW1vdXQtcmVwZWF0LmV4cAorQEAgLTAs MCArMSwzNiBAQAorKyMgQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwgSW5jLgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IK KysjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBwcm9n cmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisr IyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy YW50eSBvZgorKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiAgU2VlIHRoZQorKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg ZGV0YWlscy4KKysjCisrIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJ ZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisrCisrc3RhbmRhcmRf dGVzdGZpbGUgLlMgLmMKKytzZXQgb3B0cyB7fQorKworK2lmIFtpbmZvIGV4aXN0cyBDT01QSUxF XSB7CisrICAgICMgbWFrZSBjaGVjayBSVU5URVNURkxBR1M9ImdkYi5hcmNoL2FtZDY0LW9wdGlt b3V0LXJlcGVhdC5leHAgQ09NUElMRT0xIgorKyAgICBzZXQgc3JjZmlsZSAke3NyY2ZpbGUyfQor KyAgICBsYXBwZW5kIG9wdHMgZGVidWcgb3B0aW1pemU9LU8yCisrfSBlbHNlaWYgeyAhW2lzdGFy Z2V0IHg4Nl82NC0qLSogXSB8fCAhW2lzX2xwNjRfdGFyZ2V0XSB9IHsKKysgICAgdmVyYm9zZSAi U2tpcHBpbmcgYW1kNjQtb3B0aW1vdXQtcmVwZWF0LiIKKysgICAgcmV0dXJuCisrfQorKworK2lm IHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgJHt0ZXN0ZmlsZX0uZXhwICR7dGVzdGZpbGV9ICR7c3Jj ZmlsZX0gJG9wdHNdIH0geworKyAgICByZXR1cm4gLTEKKyt9CisrCisraWYgIVtydW50b19tYWlu XSB7CisrICAgIHJldHVybiAtMQorK30KKysKKytnZGJfdGVzdCAicHJpbnQgdiIgeyA9IHtpID0g MCwgeHh4ID0gezxvcHRpbWl6ZWQgb3V0PiA8cmVwZWF0cyAyNTYgdGltZXM+fX19CisKKy0tRHhu cTF6V1h2RkYwUTkzdi0tCisKCmRpZmYgLS1naXQgYS9nZGItdGVzdHN1aXRlLXBhZ2luYXRpb24t cmVhZDEucGF0Y2ggYi9nZGItdGVzdHN1aXRlLXBhZ2luYXRpb24tcmVhZDEucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNThmYjEzMgotLS0gL2Rldi9udWxsCisrKyBi L2dkYi10ZXN0c3VpdGUtcGFnaW5hdGlvbi1yZWFkMS5wYXRjaApAQCAtMCwwICsxLDQxNSBAQAor aHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTQtMDcvbXNnMDA1NTMuaHRt bAorU3ViamVjdDogW3Rlc3RzdWl0ZSBwYXRjaF0gRml4IHBhZ2luYXRlLSouZXhwIHJhY2UgZm9y ICJyZWFkMSIKKworCistLTE3cEVIZDRSaFBIT2luWnAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFp bjsgY2hhcnNldD11cy1hc2NpaQorQ29udGVudC1EaXNwb3NpdGlvbjogaW5saW5lCisKK0hpIFBl ZHJvLAorCit0aGVzZSB0ZXN0Y2FzZSBoYXZlIHJhY3kgcmVzdWx0czoKKwlnZGIuYmFzZS9kb3Vi bGUtcHJvbXB0LXRhcmdldC1ldmVudC1lcnJvci5leHAKKwlnZGIuYmFzZS9wYWdpbmF0ZS1hZnRl ci1jdHJsLWMtcnVubmluZy5leHAKKwlnZGIuYmFzZS9wYWdpbmF0ZS1iZy1leGVjdXRpb24uZXhw CisJZ2RiLmJhc2UvcGFnaW5hdGUtZXhlY3V0aW9uLXN0YXJ0dXAuZXhwCisJZ2RiLmJhc2UvcGFn aW5hdGUtaW5mZXJpb3ItZXhpdC5leHAKKworcmVwcm9kdWNpYmxlIHdpdGggInJlYWQxIiBmcm9t OgorCXJlcHJvZHVjZXIgZm9yIHJhY2VzIG9mIGV4cGVjdCBpbmNvbXBsZXRlIHJlYWRzCisJaHR0 cDovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xMjY0OQorCisjIFBy ZXZlbnQgZ2RiX3Rlc3RfbXVsdGlwbGUgY29uc2lkZXJpbmcgYW4gZXJyb3IgLXJlICI8cmV0dXJu PiIgbWF0Y2guCisjIEZvciB1bmtub3duIHJlYXNvbiAtbm90cmFuc2ZlciAtcmUgIjxyZXR1cm4+ IiB7IGV4cF9jb250aW51ZSB9IGRvZXMgbm90CisjIHByZXZlbnQgaXQuCisKK1Rlc3RlZCBvbiBG ZWRvcmEgMjAgeDg2XzY0IGFuZCBGZWRvcmEgUmF3aGlkZSB4ODZfNjQgdGhhdCAtbm90cmFuc2Zl ciBkb2VzIG5vdAord29yayB0aGVyZToKKwlleHBlY3QtNS40NS0xMC5mYzIwLng4Nl82NAorCWV4 cGVjdC01LjQ1LTE2LmZjMjEueDg2XzY0CisKK1N1cmUgaWYgc29tZW9uZSBnZXRzIC1ub3RyYW5z ZmVyIHdvcmtpbmcgdGhpcyBwYXRjaCBjb3VsZCBiZSBkcm9wcGVkLgorCisKK0phbgorCistLTE3 cEVIZDRSaFBIT2luWnAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD11cy1hc2Np aQorQ29udGVudC1EaXNwb3NpdGlvbjogaW5saW5lOyBmaWxlbmFtZT0xCisKK2dkYi90ZXN0c3Vp dGUvCisyMDE0LTA3LTIyICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5j b20+CisKKwkqIGdkYi5iYXNlL2RvdWJsZS1wcm9tcHQtdGFyZ2V0LWV2ZW50LWVycm9yLmV4cDog VXNlCisJZ2RiX3Rlc3RfcGFnaW5hdGlvbi4KKwkqIGdkYi5iYXNlL3BhZ2luYXRlLWFmdGVyLWN0 cmwtYy1ydW5uaW5nLmV4cDogTGlrZXdpc2UuCisJKiBnZGIuYmFzZS9wYWdpbmF0ZS1iZy1leGVj dXRpb24uZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5iYXNlL3BhZ2luYXRlLWV4ZWN1dGlvbi1zdGFy dHVwLmV4cDogTGlrZXdpc2UuCisJKiBnZGIuYmFzZS9wYWdpbmF0ZS1pbmZlcmlvci1leGl0LmV4 cDogTGlrZXdpc2UuCisJKiBsaWIvZ2RiLmV4cCAocGFnaW5hdGlvbl9wcm9tcHQpOiBSZW1vdmUu CisJKGdkYl90ZXN0X3BhZ2luYXRpb24pOiBOZXcuCisKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL2RvdWJsZS1wcm9tcHQtdGFyZ2V0LWV2ZW50LWVycm9yLmV4cCBiL2dkYi90 ZXN0c3VpdGUvZ2RiLmJhc2UvZG91YmxlLXByb21wdC10YXJnZXQtZXZlbnQtZXJyb3IuZXhwCitp bmRleCA1NTcxY2RmLi44MDNlMjU2IDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS9kb3VibGUtcHJvbXB0LXRhcmdldC1ldmVudC1lcnJvci5leHAKKysrKyBiL2dkYi90ZXN0c3Vp dGUvZ2RiLmJhc2UvZG91YmxlLXByb21wdC10YXJnZXQtZXZlbnQtZXJyb3IuZXhwCitAQCAtMjgs NyArMjgsNyBAQCBpZiB7W3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVwYXJlIiAk dGVzdGZpbGUgJHNyY2ZpbGUgZGVidWddID09IC0xfSB7CisgCisgcHJvYyBjYW5jZWxfcGFnaW5h dGlvbl9pbl90YXJnZXRfZXZlbnQgeyBjb21tYW5kIH0geworICAgICBnbG9iYWwgYmluZmlsZSBz cmNmaWxlCistICAgIGdsb2JhbCBnZGJfcHJvbXB0IHBhZ2luYXRpb25fcHJvbXB0CisrICAgIGds b2JhbCBnZGJfcHJvbXB0CisgCisgICAgIHNldCB0ZXN0bGluZSBbZ2RiX2dldF9saW5lX251bWJl ciAiYWZ0ZXIgc2xlZXAiXQorIAorQEAgLTYwLDI1ICs2MCwyMyBAQCBwcm9jIGNhbmNlbF9wYWdp bmF0aW9uX2luX3RhcmdldF9ldmVudCB7IGNvbW1hbmQgfSB7CisgCisgCSMgV2FpdCBmb3IgcGFn aW5hdGlvbiBwcm9tcHQgYWZ0ZXIgdGhlICJDb250aW51aW5nIiBsaW5lLAorIAkjIGluZGljYXRp bmcgdGhlIHByb2dyYW0gd2FzIHJ1bm5pbmcgYW5kIHRoZW4gc3RvcHBlZC4KKysJZ2xvYmFsIHNh d19jb250aW51aW5nCisgCXNldCBzYXdfY29udGludWluZyAwCisgCXNldCB0ZXN0ICJjb250aW51 ZSB0byBwYWdpbmF0aW9uIgorLQlnZGJfdGVzdF9tdWx0aXBsZSAiJGNvbW1hbmQiICR0ZXN0IHsK Ky0JICAgIC1yZSAiJHBhZ2luYXRpb25fcHJvbXB0JCIgeworLQkJaWYgeyRzYXdfY29udGludWlu Z30geworLQkJICAgIHBhc3MgJHRlc3QKKy0JCX0gZWxzZSB7CistCQkgICAgc2VuZF9nZGIgIlxu IgorLQkJICAgIGV4cF9jb250aW51ZQorLQkJfQorKwlnZGJfdGVzdF9wYWdpbmF0aW9uICRjb21t YW5kICR0ZXN0IHsKKysJICAgIGdsb2JhbCBzYXdfY29udGludWluZworKwkgICAgaWYgeyRzYXdf Y29udGludWluZ30geworKwkJcGFzcyAkdGVzdAorKwkgICAgfSBlbHNlIHsKKysJCXNlbmRfZ2Ri ICJcbiIKKysJCWV4cF9jb250aW51ZQorIAkgICAgfQorKwl9IHsKKyAJICAgIC1yZSAiQ29udGlu dWluZyIgeworKwkJZ2xvYmFsIHNhd19jb250aW51aW5nCisgCQlzZXQgc2F3X2NvbnRpbnVpbmcg MQorIAkJZXhwX2NvbnRpbnVlCisgCSAgICB9CistCSAgICAtbm90cmFuc2ZlciAtcmUgIjxyZXR1 cm4+IiB7CistCQkjIE90aGVyd2lzZSBnZGJfdGVzdF9tdWx0aXBsZSBjb25zaWRlcnMgdGhpcyBh biBlcnJvci4KKy0JCWV4cF9jb250aW51ZQorLQkgICAgfQorIAl9CisgCisgCSMgV2UncmUgbm93 IHN0b3BwZWQgaW4gYSBwYWdpbmF0aW9uIHF1ZXJ5IHdoaWxlIGhhbmRsaW5nIGEKK0BAIC04OCwx NSArODYsMjAgQEAgcHJvYyBjYW5jZWxfcGFnaW5hdGlvbl9pbl90YXJnZXRfZXZlbnQgeyBjb21t YW5kIH0geworIAlzZW5kX2dkYiAiXDAwM3AgMVxuIgorIAorIAlzZXQgdGVzdCAibm8gZG91Ymxl IHByb21wdCIKKy0JZ2RiX3Rlc3RfbXVsdGlwbGUgIiIgJHRlc3QgeworLQkgICAgLXJlICIkZ2Ri X3Byb21wdC4qJGdkYl9wcm9tcHQuKiRnZGJfcHJvbXB0ICQiIHsKKy0JCWZhaWwgJHRlc3QKKy0J ICAgIH0KKy0JICAgIC1yZSAiJGdkYl9wcm9tcHQgLiogPSAxXHJcbiRnZGJfcHJvbXB0ICQiIHsK KysJZ2xvYmFsIHNhd19wcm9tcHQKKysJc2V0IHNhd19wcm9tcHQgMAorKwlnZGJfdGVzdF9wYWdp bmF0aW9uICIiICR0ZXN0IHsKKysJICAgIGV4cF9jb250aW51ZQorKwl9IHsKKysJICAgIC1yZSAi ID0gMVxyXG4kZ2RiX3Byb21wdCAkIiB7CisgCQlwYXNzICR0ZXN0CisgCSAgICB9CistCSAgICAt bm90cmFuc2ZlciAtcmUgIjxyZXR1cm4+IiB7CistCQkjIE90aGVyd2lzZSBnZGJfdGVzdF9tdWx0 aXBsZSBjb25zaWRlcnMgdGhpcyBhbiBlcnJvci4KKysJICAgIC1yZSAiXHJcbiRnZGJfcHJvbXB0 ICIgeworKwkJZ2xvYmFsIHNhd19wcm9tcHQKKysJCWlmIHsgJHNhd19wcm9tcHQgIT0gMCB9IHsK KysJCSAgICBmYWlsICR0ZXN0CisrCQl9CisrCQlzZXQgc2F3X3Byb21wdCAxCisgCQlleHBfY29u dGludWUKKyAJICAgIH0KKyAJfQorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv cGFnaW5hdGUtYWZ0ZXItY3RybC1jLXJ1bm5pbmcuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS9wYWdpbmF0ZS1hZnRlci1jdHJsLWMtcnVubmluZy5leHAKK2luZGV4IDBlZDhjOTIuLjMzMjNm ZTcgMTAwNjQ0CistLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3BhZ2luYXRlLWFmdGVyLWN0 cmwtYy1ydW5uaW5nLmV4cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9wYWdpbmF0ZS1h ZnRlci1jdHJsLWMtcnVubmluZy5leHAKK0BAIC0yNCw3ICsyNCw2IEBAIGlmIHtbYnVpbGRfZXhl Y3V0YWJsZSAiZmFpbGVkIHRvIHByZXBhcmUiICR0ZXN0ZmlsZSAkc3JjZmlsZSBkZWJ1Z10gPT0g LTF9IHsKKyAKKyBwcm9jIHRlc3RfY3RybGNfd2hpbGVfdGFyZ2V0X3J1bm5pbmdfcGFnaW5hdGVz IHt9IHsKKyAgICAgZ2xvYmFsIGJpbmZpbGUgc3JjZmlsZQorLSAgICBnbG9iYWwgZ2RiX3Byb21w dCBwYWdpbmF0aW9uX3Byb21wdAorIAorICAgICBzZXQgdGVzdGxpbmUgW2dkYl9nZXRfbGluZV9u dW1iZXIgImFmdGVyIHNsZWVwIl0KKyAKK0BAIC02MSwxOSArNjAsMTMgQEAgcHJvYyB0ZXN0X2N0 cmxjX3doaWxlX3RhcmdldF9ydW5uaW5nX3BhZ2luYXRlcyB7fSB7CisgCSMgdGhlIHVzZXIgY2Fu IHJlc3BvbmQgdG8gdGhlIHBhZ2luYXRpb24gcXVlcnkuCisgCXNldCB0ZXN0ICJnb3QgcHJvbXB0 IgorIAlzZXQgc2F3X3BhZ2luYXRpb25fcHJvbXB0IDAKKy0JZ2RiX3Rlc3RfbXVsdGlwbGUgIiIg JHRlc3QgeworLQkgICAgLXJlICIkcGFnaW5hdGlvbl9wcm9tcHQkIiB7CistCQlzZXQgc2F3X3Bh Z2luYXRpb25fcHJvbXB0IDEKKy0JCXNlbmRfZ2RiICJcbiIKKy0JCWV4cF9jb250aW51ZQorLQkg ICAgfQorKwlnZGJfdGVzdF9wYWdpbmF0aW9uICIiICR0ZXN0IHsKKysJICAgIHNlbmRfZ2RiICJc biIKKysJICAgIGV4cF9jb250aW51ZQorKwl9IHsKKyAJICAgIC1yZSAiJGdkYl9wcm9tcHQgJCIg eworIAkJZ2RiX2Fzc2VydCAkc2F3X3BhZ2luYXRpb25fcHJvbXB0ICR0ZXN0CisgCSAgICB9Cist CSAgICAtbm90cmFuc2ZlciAtcmUgIjxyZXR1cm4+IiB7CistCQkjIE90aGVyd2lzZSBnZGJfdGVz dF9tdWx0aXBsZSBjb25zaWRlcnMgdGhpcyBhbiBlcnJvci4KKy0JCWV4cF9jb250aW51ZQorLQkg ICAgfQorIAl9CisgCisgCSMgQ29uZmlybSBHREIgY2FuIHN0aWxsIHByb2Nlc3MgaW5wdXQuCitk aWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9wYWdpbmF0ZS1iZy1leGVjdXRpb24u ZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9wYWdpbmF0ZS1iZy1leGVjdXRpb24uZXhwCitp bmRleCBkY2ZmOGFkLi4zYmE0NmEzIDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS9wYWdpbmF0ZS1iZy1leGVjdXRpb24uZXhwCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L3BhZ2luYXRlLWJnLWV4ZWN1dGlvbi5leHAKK0BAIC0yNyw3ICsyNyw2IEBAIGlmIHtbYnVpbGRf ZXhlY3V0YWJsZSAiZmFpbGVkIHRvIHByZXBhcmUiICR0ZXN0ZmlsZSAkc3JjZmlsZSBkZWJ1Z10g PT0gLTF9IHsKKyAKKyBwcm9jIHRlc3RfYmdfZXhlY3V0aW9uX3BhZ2luYXRpb25fcmV0dXJuIHt9 IHsKKyAgICAgZ2xvYmFsIGJpbmZpbGUKKy0gICAgZ2xvYmFsIHBhZ2luYXRpb25fcHJvbXB0Cisg CisgICAgIHdpdGhfdGVzdF9wcmVmaXggInBhZ2luYXRlIiB7CisgCWNsZWFuX3Jlc3RhcnQgJGJp bmZpbGUKK0BAIC00MywyMSArNDIsMTIgQEAgcHJvYyB0ZXN0X2JnX2V4ZWN1dGlvbl9wYWdpbmF0 aW9uX3JldHVybiB7fSB7CisgCisgCWdkYl90ZXN0ICJjb250aW51ZSYiICJDb250aW51aW5nXC4i CisgCistCXNldCB0ZXN0ICJwYWdpbmF0aW9uIGhhbmRsZWQsIGJyZWFrcG9pbnQgaGl0IgorLQlz ZXQgc2F3X3BhZ2luYXRpb25fcHJvbXB0IDAKKy0JZ2RiX3Rlc3RfbXVsdGlwbGUgIiIgJHRlc3Qg eworLQkgICAgLXJlICIkcGFnaW5hdGlvbl9wcm9tcHQkIiB7CistCQlzZXQgc2F3X3BhZ2luYXRp b25fcHJvbXB0IDEKKy0JCXNlbmRfZ2RiICJcbiIKKy0JCWV4cF9jb250aW51ZQorLQkgICAgfQor LQkgICAgLW5vdHJhbnNmZXIgLXJlICI8cmV0dXJuPiIgeworLQkJIyBPdGhlcndpc2UgZ2RiX3Rl c3RfbXVsdGlwbGUgY29uc2lkZXJzIHRoaXMgYW4KKy0JCSMgZXJyb3IuCistCQlleHBfY29udGlu dWUKKy0JICAgIH0KKysJZ2RiX3Rlc3RfcGFnaW5hdGlvbiAiIiAicGFnaW5hdGlvbiBoYW5kbGVk LCBicmVha3BvaW50IGhpdCIgeworKwkgICAgc2VuZF9nZGIgIlxuIgorKwkgICAgZXhwX2NvbnRp bnVlCisrCX0geworIAkgICAgLXJlICJhZnRlciBzbGVlcFxbXlxyXG5cXStcclxuJCIgeworLQkJ Z2RiX2Fzc2VydCAkc2F3X3BhZ2luYXRpb25fcHJvbXB0ICR0ZXN0CisrCQlnZGJfYXNzZXJ0IHsg JHNhd19wYWdpbmF0aW9uX3Byb21wdCA9PSAzIH0gJHRlc3QKKyAJICAgIH0KKyAJfQorIAorQEAg LTc1LDcgKzY1LDcgQEAgcHJvYyB0ZXN0X2JnX2V4ZWN1dGlvbl9wYWdpbmF0aW9uX3JldHVybiB7 fSB7CisgCisgcHJvYyB0ZXN0X2JnX2V4ZWN1dGlvbl9wYWdpbmF0aW9uX2NhbmNlbCB7IGhvdyB9 IHsKKyAgICAgZ2xvYmFsIGJpbmZpbGUKKy0gICAgZ2xvYmFsIGdkYl9wcm9tcHQgcGFnaW5hdGlv bl9wcm9tcHQKKysgICAgZ2xvYmFsIGdkYl9wcm9tcHQKKyAKKyAgICAgd2l0aF90ZXN0X3ByZWZp eCAiY2FuY2VsIHdpdGggJGhvdyIgeworIAljbGVhbl9yZXN0YXJ0ICRiaW5maWxlCitAQCAtOTIs MTQgKzgyLDggQEAgcHJvYyB0ZXN0X2JnX2V4ZWN1dGlvbl9wYWdpbmF0aW9uX2NhbmNlbCB7IGhv dyB9IHsKKyAJZ2RiX3Rlc3QgImNvbnRpbnVlJiIgIkNvbnRpbnVpbmdcLiIKKyAKKyAJc2V0IHRl c3QgImNvbnRpbnVlJiBwYWdpbmF0ZXMiCistCWdkYl90ZXN0X211bHRpcGxlICIiICR0ZXN0IHsK Ky0JICAgIC1yZSAiJHBhZ2luYXRpb25fcHJvbXB0JCIgeworLQkJcGFzcyAkdGVzdAorLQkgICAg fQorLQkgICAgLW5vdHJhbnNmZXIgLXJlICI8cmV0dXJuPiIgeworLQkJIyBPdGhlcndpc2UgZ2Ri X3Rlc3RfbXVsdGlwbGUgY29uc2lkZXJzIHRoaXMgYW4gZXJyb3IuCistCQlleHBfY29udGludWUK Ky0JICAgIH0KKysJZ2RiX3Rlc3RfcGFnaW5hdGlvbiAiIiAkdGVzdCB7CisrCSAgICBwYXNzICR0 ZXN0CisgCX0KKyAKKyAJc2V0IHRlc3QgImNhbmNlbCBwYWdpbmF0aW9uIgorZGlmZiAtLWdpdCBh L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvcGFnaW5hdGUtZXhlY3V0aW9uLXN0YXJ0dXAuZXhwIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9wYWdpbmF0ZS1leGVjdXRpb24tc3RhcnR1cC5leHAKK2lu ZGV4IGRjNzEzZWMuLjRkYzIzNzYgMTAwNjQ0CistLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L3BhZ2luYXRlLWV4ZWN1dGlvbi1zdGFydHVwLmV4cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS9wYWdpbmF0ZS1leGVjdXRpb24tc3RhcnR1cC5leHAKK0BAIC03Niw3ICs3Niw2IEBAIHBy b2MgcHJvYmVfY2FuX3J1bl9jbWRsaW5lICB7fSB7CisgcHJvYyB0ZXN0X2ZnX2V4ZWN1dGlvbl9w YWdpbmF0aW9uX3JldHVybiB7fSB7CisgICAgIGdsb2JhbCBmaWxlX2FyZworICAgICBnbG9iYWwg c2F2ZWRfZ2RiZmxhZ3MgR0RCRkxBR1MKKy0gICAgZ2xvYmFsIGdkYl9wcm9tcHQgcGFnaW5hdGlv bl9wcm9tcHQKKyAKKyAgICAgc2V0IEdEQkZMQUdTICRzYXZlZF9nZGJmbGFncworICAgICBhcHBl bmQgR0RCRkxBR1MgIiAtZXggXCJzZXQgaGVpZ2h0IDJcIiIKK0BAIC05MiwxMCArOTEsOSBAQCBw cm9jIHRlc3RfZmdfZXhlY3V0aW9uX3BhZ2luYXRpb25fcmV0dXJuIHt9IHsKKyAJICAgIGZhaWwg JHRlc3QKKyAJICAgIHJldHVybiAkcmVzCisgCX0KKy0JZ2RiX3Rlc3RfbXVsdGlwbGUgIiIgJHRl c3QgeworLQkgICAgLXJlICIkcGFnaW5hdGlvbl9wcm9tcHQkIiB7CistCQlwYXNzICR0ZXN0Cist CSAgICB9CisrCWdkYl90ZXN0X3BhZ2luYXRpb24gIiIgJHRlc3QgeworKwkgICAgcGFzcyAkdGVz dAorKwl9IHsKKyAJICAgIC1yZSAiJGdkYl9wcm9tcHQgJCIgeworIAkJZmFpbCAkdGVzdAorIAkg ICAgfQorQEAgLTEwMywyMCArMTAxLDEzIEBAIHByb2MgdGVzdF9mZ19leGVjdXRpb25fcGFnaW5h dGlvbl9yZXR1cm4ge30geworIAorIAlzZW5kX2dkYiAiXG4iCisgCistCXNldCBzYXdfcGFnaW5h dGlvbl9wcm9tcHQgMAorIAlzZXQgdGVzdCAic2VuZCBcXG4gdG8gR0RCIgorLQlnZGJfdGVzdF9t dWx0aXBsZSAiIiAkdGVzdCB7CistCSAgICAtcmUgIiRwYWdpbmF0aW9uX3Byb21wdCQiIHsKKy0J CXNldCBzYXdfcGFnaW5hdGlvbl9wcm9tcHQgMQorLQkJc2VuZF9nZGIgIlxuIgorLQkJZXhwX2Nv bnRpbnVlCistCSAgICB9CistCSAgICAtbm90cmFuc2ZlciAtcmUgIjxyZXR1cm4+IiB7CistCQkj IE90aGVyd2lzZSBnZGJfdGVzdF9tdWx0aXBsZSBjb25zaWRlcnMgdGhpcyBhbiBlcnJvci4KKy0J CWV4cF9jb250aW51ZQorLQkgICAgfQorKwlnZGJfdGVzdF9wYWdpbmF0aW9uICIiICR0ZXN0IHsK KysJICAgIHNlbmRfZ2RiICJcbiIKKysJICAgIGV4cF9jb250aW51ZQorKwl9IHsKKyAJICAgIC1y ZSAiJGdkYl9wcm9tcHQgJCIgeworLQkJZ2RiX2Fzc2VydCAkc2F3X3BhZ2luYXRpb25fcHJvbXB0 ICR0ZXN0CisrCQlnZGJfYXNzZXJ0IHsgJHNhd19wYWdpbmF0aW9uX3Byb21wdCA9PSAzIH0gJHRl c3QKKyAJICAgIH0KKyAJfQorIAorQEAgLTEzMyw3ICsxMjQsNyBAQCBwcm9jIHRlc3RfZmdfZXhl Y3V0aW9uX3BhZ2luYXRpb25fcmV0dXJuIHt9IHsKKyBwcm9jIHRlc3RfZmdfZXhlY3V0aW9uX3Bh Z2luYXRpb25fY2FuY2VsIHsgaG93IH0geworICAgICBnbG9iYWwgZmlsZV9hcmcKKyAgICAgZ2xv YmFsIHNhdmVkX2dkYmZsYWdzIEdEQkZMQUdTCistICAgIGdsb2JhbCBnZGJfcHJvbXB0IHBhZ2lu YXRpb25fcHJvbXB0CisrICAgIGdsb2JhbCBnZGJfcHJvbXB0CisgCisgICAgIHNldCBHREJGTEFH UyAkc2F2ZWRfZ2RiZmxhZ3MKKyAKK0BAIC0xNTAsMTQgKzE0MSw4IEBAIHByb2MgdGVzdF9mZ19l eGVjdXRpb25fcGFnaW5hdGlvbl9jYW5jZWwgeyBob3cgfSB7CisgCSAgICBmYWlsICR0ZXN0Cisg CSAgICByZXR1cm4gJHJlcworIAl9CistCWdkYl90ZXN0X211bHRpcGxlICIiICR0ZXN0IHsKKy0J ICAgIC1yZSAiJHBhZ2luYXRpb25fcHJvbXB0JCIgeworLQkJcGFzcyAkdGVzdAorLQkgICAgfQor LQkgICAgLW5vdHJhbnNmZXIgLXJlICI8cmV0dXJuPiIgeworLQkJIyBPdGhlcndpc2UgZ2RiX3Rl c3RfbXVsdGlwbGUgY29uc2lkZXJzIHRoaXMgYW4gZXJyb3IuCistCQlleHBfY29udGludWUKKy0J ICAgIH0KKysJZ2RiX3Rlc3RfcGFnaW5hdGlvbiAiIiAkdGVzdCB7CisrCSAgICBwYXNzICR0ZXN0 CisgCX0KKyAKKyAJc2V0IHRlc3QgImNhbmNlbCBwYWdpbmF0aW9uIgorZGlmZiAtLWdpdCBhL2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvcGFnaW5hdGUtaW5mZXJpb3ItZXhpdC5leHAgYi9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL3BhZ2luYXRlLWluZmVyaW9yLWV4aXQuZXhwCitpbmRleCAwZTM3YmU5 Li5kNDNhMjQ1IDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9wYWdpbmF0ZS1p bmZlcmlvci1leGl0LmV4cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9wYWdpbmF0ZS1p bmZlcmlvci1leGl0LmV4cAorQEAgLTI2LDcgKzI2LDcgQEAgaWYge1tidWlsZF9leGVjdXRhYmxl ICJmYWlsZWQgdG8gcHJlcGFyZSIgJHRlc3RmaWxlICRzcmNmaWxlIGRlYnVnXSA9PSAtMX0gewor ICMKKyBwcm9jIHRlc3RfcGFnaW5hdGVfaW5mZXJpb3JfZXhpdGVkIHt9IHsKKyAgICAgZ2xvYmFs IGJpbmZpbGUKKy0gICAgZ2xvYmFsIGdkYl9wcm9tcHQgcGFnaW5hdGlvbl9wcm9tcHQKKysgICAg Z2xvYmFsIGdkYl9wcm9tcHQKKyAgICAgZ2xvYmFsIGluZmVyaW9yX2V4aXRlZF9yZQorIAorICAg ICB3aXRoX3Rlc3RfcHJlZml4ICJwYWdpbmF0ZSIgeworQEAgLTQ1LDIzICs0NSwxOCBAQCBwcm9j IHRlc3RfcGFnaW5hdGVfaW5mZXJpb3JfZXhpdGVkIHt9IHsKKyAJIyBXYWl0IGZvciB0aGUgIlN0 YXJ0aW5nIHByb2dyYW0iIGxpbmUsIGluZGljYXRpbmcgdGhlIHByb2dyYW0KKyAJIyBpcyBydW5u aW5nLgorIAlzZXQgc2F3X3N0YXJ0aW5nIDAKKy0JZ2RiX3Rlc3RfbXVsdGlwbGUgImNvbnRpbnVl IiAkdGVzdCB7CistCSAgICAtcmUgIiRwYWdpbmF0aW9uX3Byb21wdCIgeworLQkJaWYgeyRzYXdf c3RhcnRpbmd9IHsKKy0JCSAgICBwYXNzICR0ZXN0CistCQl9IGVsc2UgeworLQkJICAgIHNlbmRf Z2RiICJcbiIKKy0JCSAgICBleHBfY29udGludWUKKy0JCX0KKysJZ2RiX3Rlc3RfcGFnaW5hdGlv biAiY29udGludWUiICR0ZXN0IHsKKysJICAgIGlmIHskc2F3X3N0YXJ0aW5nfSB7CisrCQlwYXNz ICR0ZXN0CisrCSAgICB9IGVsc2UgeworKwkJc2VuZF9nZGIgIlxuIgorKwkJZXhwX2NvbnRpbnVl CisgCSAgICB9CisrCX0geworIAkgICAgLXJlICJDb250aW51aW5nIiB7CisgCQlzZXQgc2F3X3N0 YXJ0aW5nIDEKKyAJCWV4cF9jb250aW51ZQorIAkgICAgfQorLQkgICAgLW5vdHJhbnNmZXIgLXJl ICI8cmV0dXJuPiIgeworLQkJIyBPdGhlcndpc2UgZ2RiX3Rlc3RfbXVsdGlwbGUgY29uc2lkZXJz IHRoaXMgYW4gZXJyb3IuCistCQlleHBfY29udGludWUKKy0JICAgIH0KKyAJfQorIAorIAkjIFdl J3JlIG5vdyBzdG9wcGVkIGluIGEgcGFnaW5hdGlvbiBvdXRwdXQgd2hpbGUgaGFuZGxpbmcgYQor ZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAgYi9nZGIvdGVzdHN1aXRlL2xp Yi9nZGIuZXhwCitpbmRleCA3YTAwZWZiLi5kOTUzYTUwIDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3Rz dWl0ZS9saWIvZ2RiLmV4cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAorQEAgLTcw LDkgKzcwLDYgQEAgaWYgIVtpbmZvIGV4aXN0cyBnZGJfcHJvbXB0XSB0aGVuIHsKKyAgICAgc2V0 IGdkYl9wcm9tcHQgIlxbKFxdZ2RiXFspXF0iCisgfQorIAorLSMgQSByZWdleHAgdGhhdCBtYXRj aGVzIHRoZSBwYWdpbmF0aW9uIHByb21wdC4KKy1zZXQgcGFnaW5hdGlvbl9wcm9tcHQgIi0tLVR5 cGUgPHJldHVybj4gdG8gY29udGludWUsIG9yIHEgPHJldHVybj4gdG8gcXVpdC0tLSIKKy0KKyAj IFRoZSB2YXJpYWJsZSBmdWxsbmFtZV9zeW50YXhfUE9TSVggaXMgYSByZWdleHAgd2hpY2ggbWF0 Y2hlcyBhIFBPU0lYIAorICMgYWJzb2x1dGUgcGF0aCBpZS4gL2Zvby8gCisgc2V0IGZ1bGxuYW1l X3N5bnRheF9QT1NJWCB7L1teXG5dKi99CitAQCAtNDg0Niw1ICs0ODQzLDQ2IEBAIHByb2MgY2Fw dHVyZV9jb21tYW5kX291dHB1dCB7IGNvbW1hbmQgcHJlZml4IH0geworICAgICByZXR1cm4gJG91 dHB1dF9zdHJpbmcKKyB9CisgCisrIyBQcmV2ZW50IGdkYl90ZXN0X211bHRpcGxlIGNvbnNpZGVy aW5nIGFuIGVycm9yIC1yZSAiPHJldHVybj4iIG1hdGNoLgorKyMgRm9yIHVua25vd24gcmVhc29u IC1ub3RyYW5zZmVyIC1yZSAiPHJldHVybj4iIHsgZXhwX2NvbnRpbnVlIH0gZG9lcyBub3QKKysj IHByZXZlbnQgaXQuCisrCisrcHJvYyBnZGJfdGVzdF9wYWdpbmF0aW9uIHsgY29tbWFuZCB0ZXN0 IHsgY29kZV9wcm9tcHQzIHt9IH0geyBjb2RlX2FwcGVuZCB7fSB9IH0geworKyAgICBnbG9iYWwg cGFnaW5hdGlvbl9wcm9tcHQxIHBhZ2luYXRpb25fcHJvbXB0MiBwYWdpbmF0aW9uX3Byb21wdDMK KysgICAgZ2xvYmFsIGdkYl9wcm9tcHQKKysKKysgICAgIyBBIHJlZ2V4cCB0aGF0IG1hdGNoZXMg dGhlIHBhZ2luYXRpb24gcHJvbXB0LgorKyAgICBzZXQgcGFnaW5hdGlvbl9wcm9tcHQxICItLS1U eXBlIDxyZXR1cm4iCisrICAgIHNldCBwYWdpbmF0aW9uX3Byb21wdDIgIj4gdG8gY29udGludWUs IG9yIHEgPHJldHVybiIKKysgICAgc2V0IHBhZ2luYXRpb25fcHJvbXB0MyAiPiB0byBxdWl0LS0t IgorKworKyAgICBhcHBlbmQgY29kZV9hcHBlbmQgeworKwktcmUgIiR7cGFnaW5hdGlvbl9wcm9t cHQxfSIgeworKwkgICAgaWYgeyAkc2F3X3BhZ2luYXRpb25fcHJvbXB0ICE9IDAgJiYgJHNhd19w YWdpbmF0aW9uX3Byb21wdCAhPSAzIH0geworKwkJZmFpbCAiJHRlc3QgKDEpIgorKwkgICAgfQor KwkgICAgc2V0IHNhd19wYWdpbmF0aW9uX3Byb21wdCAxCisrCSAgICBleHBfY29udGludWUKKysJ fQorKwktcmUgIiR7cGFnaW5hdGlvbl9wcm9tcHQyfSIgeworKwkgICAgaWYgeyAkc2F3X3BhZ2lu YXRpb25fcHJvbXB0ICE9IDEgfSB7CisrCQlmYWlsICIkdGVzdCAoMikiCisrCSAgICB9CisrCSAg ICBzZXQgc2F3X3BhZ2luYXRpb25fcHJvbXB0IDIKKysJICAgIGV4cF9jb250aW51ZQorKwl9Cisr CS1yZSAiJHtwYWdpbmF0aW9uX3Byb21wdDN9JCIgeworKwkgICAgaWYgeyAkc2F3X3BhZ2luYXRp b25fcHJvbXB0ICE9IDIgfSB7CisrCQlmYWlsICIkdGVzdCAoMykiCisrCSAgICB9CisrCSAgICBz ZXQgc2F3X3BhZ2luYXRpb25fcHJvbXB0IDMKKysJICAgIGV2YWwgJGNvZGVfcHJvbXB0MworKwl9 CisrICAgIH0KKysKKysgICAgc2V0IHNhd19wYWdpbmF0aW9uX3Byb21wdCAwCisrICAgIGdkYl90 ZXN0X211bHRpcGxlICRjb21tYW5kICR0ZXN0ICRjb2RlX2FwcGVuZAorK30KKysKKyAjIEFsd2F5 cyBsb2FkIGNvbXBhdGliaWxpdHkgc3R1ZmYuCisgbG9hZF9saWIgZnV0dXJlLmV4cAorCistLTE3 cEVIZDRSaFBIT2luWnAtLQorCgpkaWZmIC0tZ2l0IGEvZ2RiLXVwc3RyZWFtLnBhdGNoIGIvZ2Ri LXVwc3RyZWFtLnBhdGNoCmluZGV4IDA1NTA2N2EuLjAyOGZlN2EgMTAwNjQ0Ci0tLSBhL2dkYi11 cHN0cmVhbS5wYXRjaAorKysgYi9nZGItdXBzdHJlYW0ucGF0Y2gKQEAgLTY1LDM3NSArNjUsMyBA QCBpbmRleCAwZTAyMDJkLi5kODQ5YjRjIDEwMDY0NAogICMgZ2Ric2VydmVyIGRvZXMgbm90IGhh dmUgdGhpcyBpc3N1ZS4KICBpZiAhW2lzX3JlbW90ZSB0YXJnZXRdIHsKICAgICAgc2V0dXBfa2Zh aWwgIiotKi0qIiBnZGIvMTU5MzQKLQotCi0KLQotY29tbWl0IDc2OGZiY2ZkYTgxZmYzNzAyN2Vi N2EwMmMwNDNmZjY2OWY3NzAxZmEKLUF1dGhvcjogUGVkcm8gQWx2ZXMgPHBhbHZlc0ByZWRoYXQu Y29tPgotRGF0ZTogICBGcmkgSnVsIDExIDExOjExOjIwIDIwMTQgKzAxMDAKLQotICAgIEdEQnNl cnZlciBjcmFzaGVzIHdoZW4ga2lsbGluZyBhIG11bHRpLXRocmVhZCBwcm9jZXNzCi0gICAgCi0g ICAgSGVyZSdzIGFuIGV4YW1wbGUsIHdpdGggdGhlIG5ldyB0ZXN0OgotICAgIAotICAgICBnZGJz ZXJ2ZXIgOjk5OTkgZ2RiLnRocmVhZHMva2lsbAotICAgICBnZGIgZ2RiLnRocmVhZHMva2lsbAot ICAgICAoZ2RiKSBiIDUyCi0gICAgIEJyZWFrcG9pbnQgMSBhdCAweDQwMDdmNDogZmlsZSBraWxs LmMsIGxpbmUgNTIuCi0gICAgIENvbnRpbnVpbmcuCi0gICAgCi0gICAgIEJyZWFrcG9pbnQgMSwg bWFpbiAoKSBhdCBraWxsLmM6NTIKLSAgICAgNTIgICAgICAgIHJldHVybiAwOyAvKiBzZXQgYnJl YWsgaGVyZSAqLwotICAgICAoZ2RiKSBrCi0gICAgIEtpbGwgdGhlIHByb2dyYW0gYmVpbmcgZGVi dWdnZWQ/ICh5IG9yIG4pIHkKLSAgICAKLSAgICAgZ2Ric2VydmVyIDo5OTk5IGdkYi50aHJlYWRz L2tpbGwKLSAgICAgUHJvY2VzcyBnZGIuYmFzZS93YXRjaF90aHJlYWRfbnVtIGNyZWF0ZWQ7IHBp ZCA9IDk3MTkKLSAgICAgTGlzdGVuaW5nIG9uIHBvcnQgMTIzNAotICAgICBSZW1vdGUgZGVidWdn aW5nIGZyb20gaG9zdCAxMjcuMC4wLjEKLSAgICAgS2lsbGluZyBhbGwgaW5mZXJpb3JzCi0gICAg IFNlZ21lbnRhdGlvbiBmYXVsdCAoY29yZSBkdW1wZWQpCi0gICAgCi0gICAgQmFja3RyYWNlOgot ICAgIAotICAgICAoZ2RiKSBidAotICAgICAjMCAgMHgwMDAwMDAwMDAwNDA2OGEwIGluIGZpbmRf aW5mZXJpb3IgKGxpc3Q9MHg2NmIwNjAgPGFsbF90aHJlYWRzPiwgZnVuYz0weDQyNzYzNyA8a2ls bF9vbmVfbHdwX2NhbGxiYWNrPiwgYXJnPTB4N2ZmZmZmZmZkM2ZjKSBhdCBzcmMvZ2RiL2dkYnNl cnZlci9pbmZlcmlvcnMuYzoxOTkKLSAgICAgIzEgIDB4MDAwMDAwMDAwMDQyNzdiNiBpbiBsaW51 eF9raWxsIChwaWQ9MTU3MDgpIGF0IHNyYy9nZGIvZ2Ric2VydmVyL2xpbnV4LWxvdy5jOjk2Ngot ICAgICAjMiAgMHgwMDAwMDAwMDAwNDEzNTRkIGluIGtpbGxfaW5mZXJpb3IgKHBpZD0xNTcwOCkg YXQgc3JjL2dkYi9nZGJzZXJ2ZXIvdGFyZ2V0LmM6MTYzCi0gICAgICMzICAweDAwMDAwMDAwMDA0 MTA3ZTkgaW4ga2lsbF9pbmZlcmlvcl9jYWxsYmFjayAoZW50cnk9MHg2NzA0ZjApIGF0IHNyYy9n ZGIvZ2Ric2VydmVyL3NlcnZlci5jOjI5MzQKLSAgICAgIzQgIDB4MDAwMDAwMDAwMDQwNjUyMiBp biBmb3JfZWFjaF9pbmZlcmlvciAobGlzdD0weDY2YjA1MCA8YWxsX3Byb2Nlc3Nlcz4sIGFjdGlv bj0weDQxMDdhNiA8a2lsbF9pbmZlcmlvcl9jYWxsYmFjaz4pIGF0IHNyYy9nZGIvZ2Ric2VydmVy L2luZmVyaW9ycy5jOjU3Ci0gICAgICM1ICAweDAwMDAwMDAwMDA0MTIzNzcgaW4gcHJvY2Vzc19z ZXJpYWxfZXZlbnQgKCkgYXQgc3JjL2dkYi9nZGJzZXJ2ZXIvc2VydmVyLmM6Mzc2NwotICAgICAj NiAgMHgwMDAwMDAwMDAwNDEyNjdjIGluIGhhbmRsZV9zZXJpYWxfZXZlbnQgKGVycj0wLCBjbGll bnRfZGF0YT0weDApIGF0IHNyYy9nZGIvZ2Ric2VydmVyL3NlcnZlci5jOjM4ODAKLSAgICAgIzcg IDB4MDAwMDAwMDAwMDQxODlmZiBpbiBoYW5kbGVfZmlsZV9ldmVudCAoZXZlbnRfZmlsZV9kZXNj PTQpIGF0IHNyYy9nZGIvZ2Ric2VydmVyL2V2ZW50LWxvb3AuYzo0MzQKLSAgICAgIzggIDB4MDAw MDAwMDAwMDQxODFjNiBpbiBwcm9jZXNzX2V2ZW50ICgpIGF0IHNyYy9nZGIvZ2Ric2VydmVyL2V2 ZW50LWxvb3AuYzoxODkKLSAgICAgIzkgIDB4MDAwMDAwMDAwMDQxOGY0NSBpbiBzdGFydF9ldmVu dF9sb29wICgpIGF0IHNyYy9nZGIvZ2Ric2VydmVyL2V2ZW50LWxvb3AuYzo1NTIKLSAgICAgIzEw IDB4MDAwMDAwMDAwMDQxMTI3MiBpbiBtYWluIChhcmdjPTMsIGFyZ3Y9MHg3ZmZmZmZmZmQ4ZDgp IGF0IHNyYy9nZGIvZ2Ric2VydmVyL3NlcnZlci5jOjMyODMKLSAgICAKLSAgICBUaGUgcHJvYmxl bSBpcyB0aGF0IGxpbnV4X3dhaXRfZm9yX2V2ZW50IGRlbGV0ZXMgbHdwcyB0aGF0IGhhdmUgZXhp dGVkCi0gICAgKGV2ZW4gdGhvc2Ugbm90IHBhc3NlZCBpbiBhcyBsd3BzIG9mIGludGVyZXN0KSwg d2hpbGUgdGhlIGx3cC90aHJlYWQKLSAgICBsaXN0IGlzIGJlaW5nIHdhbGtlZCBvbiB3aXRoIGZp bmRfaW5mZXJpb3IuICBmaW5kX2luZmVyaW9yIGNhbiBoYW5kbGUKLSAgICB0aGUgY3VycmVudCBp dGVyYXRlZCBpbmZlcmlvciBiZWluZyBkZWxldGVkLCBidXQgbm90IG90aGVycy4KLSAgICAKLSAg ICBXaGVuIGtpbGxpbmcgbHdwcywgd2UgZG9uJ3QgcmVhbGx5IGNhcmUgYWJvdXQgYW55IG9mIHRo ZSBwZW5kaW5nCi0gICAgc3RhdHVzIGhhbmRsaW5nIG9mIGxpbnV4X3dhaXRfZm9yX2V2ZW50LiAg V2UgY2FuIGp1c3Qgd2FpdHBpZCB0aGUgbHdwcwotICAgIGRpcmVjdGx5LCB3aGljaCBpcyBhbHNv IHdoYXQgR0RCIGRvZXMgKHNlZQotICAgIGxpbnV4LW5hdC5jOmtpbGxfd2FpdF9jYWxsYmFjayku ICBUaGlzIHdheSB0aGUgbHdwcyBhcmUgbm90IGRlbGV0ZWQKLSAgICB3aGlsZSB3ZSdyZSB3YWxr aW5nIHRoZSBsaXN0LiAgVGhleSdsbCBiZSBkZWxldGVkIGJ5IGxpbnV4X21vdXJuCi0gICAgYWZ0 ZXJ3YXJkcy4KLSAgICAKLSAgICBUaGlzIGNyYXNoIHRyaWdnZXJzIHNldmVyYWwgdGltZXMgd2hl biBydW5uaW5nIHRoZSB0ZXN0c3VpdGUgYWdhaW5zdAotICAgIEdEQnNlcnZlciB3aXRoIHRoZSBu YXRpdmUtZ2Ric2VydmVyIGJvYXJkICh0YXJnZXQgcmVtb3RlKSwgYnV0IGFzIEdEQgotICAgIGNh bid0IGRpc3Rpbmd1aXNoIGJldHdlZW4gR0RCc2VydmVyIGNyYXNoaW5nIGFuZCAia2lsbCIgYmVp bmcKLSAgICBzdWNlc3NmdWwsIGFzIGluIGJvdGggY2FzZXMgdGhlIGNvbm5lY3Rpb24gaXMgY2xv c2VkICh0aGUgJ2snIHBhY2tldAotICAgIGRvZXNuJ3QgcmVxdWlyZSBhIHJlcGx5KSwgYW5kIHRo ZSBpbmZlcmlvciBpcyBnb25lLCB0aGF0IHJlc3VsdHMgaW4gbm8KLSAgICBGQUlMLgotICAgIAot ICAgIFRoZSBwYXRjaCBhZGRzIGEgZ2VuZXJpYyB0ZXN0IHRoYXQgY2F0Y2hlcyB0aGUgaXNzdWUg d2l0aAotICAgIGV4dGVuZGVkLXJlbW90ZSBtb2RlIChhbmQgd29ya3MgZmluZSB3aXRoIG5hdGl2 ZSB0ZXN0aW5nIHRvbykuICBIZXJlJ3MKLSAgICBob3cgaXQgZmFpbHMgd2l0aCB0aGUgbmF0aXZl LWV4dGVuZGVkLWdkYnNlcnZlciBib2FyZCB3aXRob3V0IHRoZSBmaXg6Ci0gICAgCi0gICAgIChn ZGIpIGluZm8gdGhyZWFkcwotICAgICAgIElkICAgVGFyZ2V0IElkICAgICAgICAgRnJhbWUKLSAg ICAgICA2ICAgIFRocmVhZCAxNTM2Ny4xNTM3NCAweDAwMDAwMDM3M2JjYmM5OGQgaW4gbmFub3Ns ZWVwICgpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXNjYWxsLXRlbXBsYXRlLlM6ODEKLSAgICAgICA1 ICAgIFRocmVhZCAxNTM2Ny4xNTM3MyAweDAwMDAwMDM3M2JjYmM5OGQgaW4gbmFub3NsZWVwICgp IGF0IC4uL3N5c2RlcHMvdW5peC9zeXNjYWxsLXRlbXBsYXRlLlM6ODEKLSAgICAgICA0ICAgIFRo cmVhZCAxNTM2Ny4xNTM3MiAweDAwMDAwMDM3M2JjYmM5OGQgaW4gbmFub3NsZWVwICgpIGF0IC4u L3N5c2RlcHMvdW5peC9zeXNjYWxsLXRlbXBsYXRlLlM6ODEKLSAgICAgICAzICAgIFRocmVhZCAx NTM2Ny4xNTM3MSAweDAwMDAwMDM3M2JjYmM5OGQgaW4gbmFub3NsZWVwICgpIGF0IC4uL3N5c2Rl cHMvdW5peC9zeXNjYWxsLXRlbXBsYXRlLlM6ODEKLSAgICAgICAyICAgIFRocmVhZCAxNTM2Ny4x NTM3MCAweDAwMDAwMDM3M2JjYmM5OGQgaW4gbmFub3NsZWVwICgpIGF0IC4uL3N5c2RlcHMvdW5p eC9zeXNjYWxsLXRlbXBsYXRlLlM6ODEKLSAgICAgKiAxICAgIFRocmVhZCAxNTM2Ny4xNTM2NyBt YWluICgpIGF0IC4uLi9nZGIudGhyZWFkcy9raWxsLmM6NTIKLSAgICAgKGdkYikga2lsbAotICAg ICBLaWxsIHRoZSBwcm9ncmFtIGJlaW5nIGRlYnVnZ2VkPyAoeSBvciBuKSB5Ci0gICAgIFJlbW90 ZSBjb25uZWN0aW9uIGNsb3NlZAotICAgICBeXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KLSAgICAg KGdkYikgRkFJTDogZ2RiLnRocmVhZHMva2lsbC5leHA6IGtpbGwKLSAgICAKLSAgICBFeHRlbmRl ZCByZW1vdGUgc2hvdWxkIHJlbWFpbiBjb25uZWN0ZWQgYWZ0ZXIgdGhlIGtpbGwuCi0gICAgCi0g ICAgZ2RiL2dkYnNlcnZlci8KLSAgICAyMDE0LTA3LTExICBQZWRybyBBbHZlcyAgPHBhbHZlc0By ZWRoYXQuY29tPgotICAgIAotICAgIAkqIGxpbnV4LWxvdy5jIChraWxsX3dhaXRfbHdwKTogTmV3 IGZ1bmN0aW9uLCBiYXNlZCBvbgotICAgIAlraWxsX29uZV9sd3BfY2FsbGJhY2ssIGJ1dCB1c2Ug bXlfd2FpdHBpZCBkaXJlY3RseS4KLSAgICAJKGtpbGxfb25lX2x3cF9jYWxsYmFjaywgbGludXhf a2lsbCk6IFVzZSBpdC4KLSAgICAKLSAgICBnZGIvdGVzdHN1aXRlLwotICAgIDIwMTQtMDctMTEg IFBlZHJvIEFsdmVzICA8cGFsdmVzQHJlZGhhdC5jb20+Ci0gICAgCi0gICAgCSogZ2RiLnRocmVh ZHMva2lsbC5jOiBOZXcgZmlsZS4KLSAgICAJKiBnZGIudGhyZWFkcy9raWxsLmV4cDogTmV3IGZp bGUuCi0KLSMjIyBhL2dkYi9nZGJzZXJ2ZXIvQ2hhbmdlTG9nCi0jIyMgYi9nZGIvZ2Ric2VydmVy L0NoYW5nZUxvZwotIyMgLTEsMyArMSw5IEBACi0rMjAxNC0wNy0xMSAgUGVkcm8gQWx2ZXMgIDxw YWx2ZXNAcmVkaGF0LmNvbT4KLSsKLSsJKiBsaW51eC1sb3cuYyAoa2lsbF93YWl0X2x3cCk6IE5l dyBmdW5jdGlvbiwgYmFzZWQgb24KLSsJa2lsbF9vbmVfbHdwX2NhbGxiYWNrLCBidXQgdXNlIG15 X3dhaXRwaWQgZGlyZWN0bHkuCi0rCShraWxsX29uZV9sd3BfY2FsbGJhY2ssIGxpbnV4X2tpbGwp OiBVc2UgaXQuCi0rCi0gMjAxNC0wNi0yMyAgUGVkcm8gQWx2ZXMgIDxwYWx2ZXNAcmVkaGF0LmNv bT4KLSAKLSAJKiBsaW51eC14ODYtbG93LmMgKHg4Nl9saW51eF9wcmVwYXJlX3RvX3Jlc3VtZSk6 IENsZWFyIERSX0NPTlRST0wKLS0tLSBhL2dkYi9nZGJzZXJ2ZXIvbGludXgtbG93LmMKLSsrKyBi L2dkYi9nZGJzZXJ2ZXIvbGludXgtbG93LmMKLUBAIC05MDksNiArOTA5LDQ2IEBAIGxpbnV4X2tp bGxfb25lX2x3cCAoc3RydWN0IGx3cF9pbmZvICpsd3ApCi0gCQkgIGVycm5vID8gc3RyZXJyb3Ig KGVycm5vKSA6ICJPSyIpOwotIH0KLSAKLSsvKiBLaWxsIExXUCBhbmQgd2FpdCBmb3IgaXQgdG8g ZGllLiAgKi8KLSsKLStzdGF0aWMgdm9pZAotK2tpbGxfd2FpdF9sd3AgKHN0cnVjdCBsd3BfaW5m byAqbHdwKQotK3sKLSsgIHN0cnVjdCB0aHJlYWRfaW5mbyAqdGhyID0gZ2V0X2x3cF90aHJlYWQg KGx3cCk7Ci0rICBpbnQgcGlkID0gcHRpZF9nZXRfcGlkIChwdGlkX29mICh0aHIpKTsKLSsgIGlu dCBsd3BpZCA9IHB0aWRfZ2V0X2x3cCAocHRpZF9vZiAodGhyKSk7Ci0rICBpbnQgd3N0YXQ7Ci0r ICBpbnQgcmVzOwotKwotKyAgaWYgKGRlYnVnX3RocmVhZHMpCi0rICAgIGRlYnVnX3ByaW50ZiAo Imt3bDoga2lsbGluZyBsd3AgJWQsIGZvciBwaWQ6ICVkXG4iLCBsd3BpZCwgcGlkKTsKLSsKLSsg IGRvCi0rICAgIHsKLSsgICAgICBsaW51eF9raWxsX29uZV9sd3AgKGx3cCk7Ci0rCi0rICAgICAg LyogTWFrZSBzdXJlIGl0IGRpZWQuICBOb3RlczoKLSsKLSsJIC0gVGhlIGxvb3AgaXMgbW9zdCBs aWtlbHkgdW5uZWNlc3NhcnkuCi0rCi0rCSAtIFdlIGRvbid0IHVzZSBsaW51eF93YWl0X2Zvcl9l dmVudCBhcyB0aGF0IGNvdWxkIGRlbGV0ZSBsd3BzCi0rCSAgIHdoaWxlIHdlJ3JlIGl0ZXJhdGlu ZyBvdmVyIHRoZW0uICBXZSdyZSBub3QgaW50ZXJlc3RlZCBpbgotKwkgICBhbnkgcGVuZGluZyBz dGF0dXMgYXQgdGhpcyBwb2ludCwgb25seSBpbiBtYWtpbmcgc3VyZSBhbGwKLSsJICAgd2FpdCBz dGF0dXMgb24gdGhlIGtlcm5lbCBzaWRlIGFyZSBjb2xsZWN0ZWQgdW50aWwgdGhlCi0rCSAgIHBy b2Nlc3MgaXMgcmVhcGVkLgotKwotKwkgLSBXZSBkb24ndCB1c2UgX19XQUxMIGhlcmUgYXMgdGhl IF9fV0FMTCBlbXVsYXRpb24gcmVsaWVzIG9uCi0rCSAgIFNJR0NITEQsIGFuZCBraWxsaW5nIGEg c3RvcHBlZCBwcm9jZXNzIGRvZXNuJ3QgZ2VuZXJhdGUKLSsJICAgb25lLCBub3IgYW4gZXhpdCBz dGF0dXMuCi0rICAgICAgKi8KLSsgICAgICByZXMgPSBteV93YWl0cGlkIChsd3BpZCwgJndzdGF0 LCAwKTsKLSsgICAgICBpZiAocmVzID09IC0xICYmIGVycm5vID09IEVDSElMRCkKLSsJcmVzID0g bXlfd2FpdHBpZCAobHdwaWQsICZ3c3RhdCwgX19XQ0xPTkUpOwotKyAgICB9IHdoaWxlIChyZXMg PiAwICYmIFdJRlNUT1BQRUQgKHdzdGF0KSk7Ci0rCi0rICBnZGJfYXNzZXJ0IChyZXMgPiAwKTsK LSt9Ci0rCi0gLyogQ2FsbGJhY2sgZm9yIGBmaW5kX2luZmVyaW9yJy4gIEtpbGxzIGFuIGx3cCBv ZiBhIGdpdmVuIHByb2Nlc3MsCi0gICAgZXhjZXB0IHRoZSBsZWFkZXIuICAqLwotIAotQEAgLTkx Nyw3ICs5NTcsNiBAQCBraWxsX29uZV9sd3BfY2FsbGJhY2sgKHN0cnVjdCBpbmZlcmlvcl9saXN0 X2VudHJ5ICplbnRyeSwgdm9pZCAqYXJncykKLSB7Ci0gICBzdHJ1Y3QgdGhyZWFkX2luZm8gKnRo cmVhZCA9IChzdHJ1Y3QgdGhyZWFkX2luZm8gKikgZW50cnk7Ci0gICBzdHJ1Y3QgbHdwX2luZm8g Kmx3cCA9IGdldF90aHJlYWRfbHdwICh0aHJlYWQpOwotLSAgaW50IHdzdGF0OwotICAgaW50IHBp ZCA9ICogKGludCAqKSBhcmdzOwotIAotICAgaWYgKHB0aWRfZ2V0X3BpZCAoZW50cnktPmlkKSAh PSBwaWQpCi1AQCAtOTM2LDE0ICs5NzUsNyBAQCBraWxsX29uZV9sd3BfY2FsbGJhY2sgKHN0cnVj dCBpbmZlcmlvcl9saXN0X2VudHJ5ICplbnRyeSwgdm9pZCAqYXJncykKLSAgICAgICByZXR1cm4g MDsKLSAgICAgfQotIAotLSAgZG8KLS0gICAgewotLSAgICAgIGxpbnV4X2tpbGxfb25lX2x3cCAo bHdwKTsKLS0KLS0gICAgICAvKiBNYWtlIHN1cmUgaXQgZGllZC4gIFRoZSBsb29wIGlzIG1vc3Qg bGlrZWx5IHVubmVjZXNzYXJ5LiAgKi8KLS0gICAgICBwaWQgPSBsaW51eF93YWl0X2Zvcl9ldmVu dCAodGhyZWFkLT5lbnRyeS5pZCwgJndzdGF0LCBfX1dBTEwpOwotLSAgICB9IHdoaWxlIChwaWQg PiAwICYmIFdJRlNUT1BQRUQgKHdzdGF0KSk7Ci0tCi0rICBraWxsX3dhaXRfbHdwIChsd3ApOwot ICAgcmV0dXJuIDA7Ci0gfQotIAotQEAgLTk1Miw4ICs5ODQsNiBAQCBsaW51eF9raWxsIChpbnQg cGlkKQotIHsKLSAgIHN0cnVjdCBwcm9jZXNzX2luZm8gKnByb2Nlc3M7Ci0gICBzdHJ1Y3QgbHdw X2luZm8gKmx3cDsKLS0gIGludCB3c3RhdDsKLS0gIGludCBsd3BpZDsKLSAKLSAgIHByb2Nlc3Mg PSBmaW5kX3Byb2Nlc3NfcGlkIChwaWQpOwotICAgaWYgKHByb2Nlc3MgPT0gTlVMTCkKLUBAIC05 NzYsMjEgKzEwMDYsNyBAQCBsaW51eF9raWxsIChpbnQgcGlkKQotIAkJICAgICAgcGlkKTsKLSAg ICAgfQotICAgZWxzZQotLSAgICB7Ci0tICAgICAgc3RydWN0IHRocmVhZF9pbmZvICp0aHIgPSBn ZXRfbHdwX3RocmVhZCAobHdwKTsKLS0KLS0gICAgICBpZiAoZGVidWdfdGhyZWFkcykKLS0JZGVi dWdfcHJpbnRmICgibGtfMToga2lsbGluZyBsd3AgJWxkLCBmb3IgcGlkOiAlZFxuIiwKLS0JCSAg ICAgIGx3cGlkX29mICh0aHIpLCBwaWQpOwotLQotLSAgICAgIGRvCi0tCXsKLS0JICBsaW51eF9r aWxsX29uZV9sd3AgKGx3cCk7Ci0tCi0tCSAgLyogTWFrZSBzdXJlIGl0IGRpZWQuICBUaGUgbG9v cCBpcyBtb3N0IGxpa2VseSB1bm5lY2Vzc2FyeS4gICovCi0tCSAgbHdwaWQgPSBsaW51eF93YWl0 X2Zvcl9ldmVudCAodGhyLT5lbnRyeS5pZCwgJndzdGF0LCBfX1dBTEwpOwotLQl9IHdoaWxlIChs d3BpZCA+IDAgJiYgV0lGU1RPUFBFRCAod3N0YXQpKTsKLS0gICAgfQotKyAgICBraWxsX3dhaXRf bHdwIChsd3ApOwotIAotICAgdGhlX3RhcmdldC0+bW91cm4gKHByb2Nlc3MpOwotIAotIyMjIGEv Z2RiL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cKLSMjIyBiL2dkYi90ZXN0c3VpdGUvQ2hhbmdlTG9nCi0j IyAtMSwzICsxLDggQEAKLSsyMDE0LTA3LTExICBQZWRybyBBbHZlcyAgPHBhbHZlc0ByZWRoYXQu Y29tPgotKwotKwkqIGdkYi50aHJlYWRzL2tpbGwuYzogTmV3IGZpbGUuCi0rCSogZ2RiLnRocmVh ZHMva2lsbC5leHA6IE5ldyBmaWxlLgotKwotIDIwMTQtMDctMDkgIFBlZHJvIEFsdmVzICA8cGFs dmVzQHJlZGhhdC5jb20+Ci0gCi0gCSogZ2RiLmJhc2UvYXR0YWNoLXdhaXQtaW5wdXQuZXhwOiBO ZXcgZmlsZS4KLS0tLSAvZGV2L251bGwKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMv a2lsbC5jCi1AQCAtMCwwICsxLDY0IEBACi0rLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdE QiwgdGhlIEdOVSBkZWJ1Z2dlci4KLSsKLSsgICBDb3B5cmlnaHQgMjAxNCBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4KLSsKLSsgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotKyAgIGl0IHVuZGVyIHRoZSB0 ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0r ICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUg TGljZW5zZSwgb3IKLSsgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKwot KyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg YmUgdXNlZnVsLAotKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0rICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0rCi0rICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk IGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSsgICBhbG9uZyB3aXRo IHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMv Pi4gICovCi0rCi0rI2lmZGVmIFVTRV9USFJFQURTCi0rCi0rI2luY2x1ZGUgPHVuaXN0ZC5oPgot KyNpbmNsdWRlIDxwdGhyZWFkLmg+Ci0rCi0rI2RlZmluZSBOVU0gNQotKwotK3B0aHJlYWRfYmFy cmllcl90IGJhcnJpZXI7Ci0rCi0rdm9pZCAqCi0rdGhyZWFkX2Z1bmN0aW9uICh2b2lkICphcmcp Ci0rewotKyAgdm9sYXRpbGUgdW5zaWduZWQgaW50IGNvdW50ZXIgPSAxOwotKwotKyAgcHRocmVh ZF9iYXJyaWVyX3dhaXQgKCZiYXJyaWVyKTsKLSsKLSsgIHdoaWxlIChjb3VudGVyID4gMCkKLSsg ICAgewotKyAgICAgIGNvdW50ZXIrKzsKLSsgICAgICB1c2xlZXAgKDEpOwotKyAgICB9Ci0rCi0r ICBwdGhyZWFkX2V4aXQgKE5VTEwpOwotK30KLSsKLSsjZW5kaWYgLyogVVNFX1RIUkVBRFMgKi8K LSsKLSt2b2lkCi0rc2V0dXAgKHZvaWQpCi0rewotKyNpZmRlZiBVU0VfVEhSRUFEUwotKyAgcHRo cmVhZF90IHRocmVhZHNbTlVNXTsKLSsgIGludCBpOwotKwotKyAgcHRocmVhZF9iYXJyaWVyX2lu aXQgKCZiYXJyaWVyLCBOVUxMLCBOVU0gKyAxKTsKLSsgIGZvciAoaSA9IDA7IGkgPCBOVU07IGkr KykKLSsgICAgcHRocmVhZF9jcmVhdGUgKCZ0aHJlYWRzW2ldLCBOVUxMLCB0aHJlYWRfZnVuY3Rp b24sIE5VTEwpOwotKyAgcHRocmVhZF9iYXJyaWVyX3dhaXQgKCZiYXJyaWVyKTsKLSsjZW5kaWYg LyogVVNFX1RIUkVBRFMgKi8KLSt9Ci0rCi0raW50Ci0rbWFpbiAodm9pZCkKLSt7Ci0rICBzZXR1 cCAoKTsKLSsgIHJldHVybiAwOyAvKiBzZXQgYnJlYWsgaGVyZSAqLwotK30KLS0tLSAvZGV2L251 bGwKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMva2lsbC5leHAKLUBAIC0wLDAgKzEs NzcgQEAKLSsjIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIu Ci0rCi0rIyBDb3B5cmlnaHQgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsK LSsjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IgbW9kaWZ5Ci0rIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSsjIChhdCB5b3Vy IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rIwotKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3Ry aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rIyBidXQgV0lUSE9V VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotKyMg TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl IHRoZQotKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsj Ci0rIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZQotKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8 aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLwotKwotK3N0YW5kYXJkX3Rlc3RmaWxl Ci0rCi0rIyBSdW4gdGhlIHRlc3QgcHJvcGVyLiAgVEhSRUFERUQgaW5kaWNhdGVzIHdoZXRoZXIg dG8gYnVpbGQgYSB0aHJlYWRlZAotKyMgcHJvZ3JhbSBhbmQgc3Bhd24gc2V2ZXJhbCB0aHJlYWRz IGJlZm9yZSB0cnlpbmcgdG8ga2lsbCB0aGUgcHJvZ3JhbS4KLSsKLStwcm9jIHRlc3Qge3RocmVh ZGVkfSB7Ci0rICAgIGdsb2JhbCB0ZXN0ZmlsZSBzcmNmaWxlCi0rCi0rICAgIHdpdGhfdGVzdF9w cmVmaXggW2V4cHIgKCR0aHJlYWRlZCk/InRocmVhZGVkIjoibm9uLXRocmVhZGVkIl0gewotKwot KwlzZXQgb3B0aW9ucyB7ZGVidWd9Ci0rCWlmIHskdGhyZWFkZWR9IHsKLSsJICAgIGxhcHBlbmQg b3B0aW9ucyAicHRocmVhZHMiCi0rCSAgICBsYXBwZW5kIG9wdGlvbnMgImFkZGl0aW9uYWxfZmxh Z3M9LURVU0VfVEhSRUFEUyIKLSsJICAgIHNldCBwcm9nICR7dGVzdGZpbGV9X3RocmVhZHMKLSsJ fSBlbHNlIHsKLSsJICAgIHNldCBwcm9nICR7dGVzdGZpbGV9X25vdGhyZWFkcwotKwl9Ci0rCi0r CWlmIHtbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHByZXBhcmUiICRwcm9nICRzcmNm aWxlICRvcHRpb25zXSA9PSAtMX0gewotKwkgICAgcmV0dXJuIC0xCi0rCX0KLSsKLSsJaWYgeyAh W3J1bnRvIG1haW5dIH0gdGhlbiB7Ci0rCSAgICBmYWlsICJydW4gdG8gbWFpbiIKLSsJICAgIHJl dHVybgotKwl9Ci0rCi0rCXNldCBsaW5lbnVtIFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJzZXQgYnJl YWsgaGVyZSJdCi0rCWdkYl9icmVha3BvaW50ICIkc3JjZmlsZTokbGluZW51bSIKLSsJZ2RiX2Nv bnRpbnVlX3RvX2JyZWFrcG9pbnQgImJyZWFrIGhlcmUiICIuKmJyZWFrIGhlcmUuKiIKLSsKLSsJ aWYgeyR0aHJlYWRlZH0gewotKwkgICAgZ2RiX3Rlc3QgImluZm8gdGhyZWFkcyIgIjYuKjUuKjQu KjMuKjIuKjEuKiIgImFsbCB0aHJlYWRzIHN0YXJ0ZWQiCi0rCX0KLSsKLSsJIyBUaGlzIGtpbGxz IGFuZCBlbnN1cmVzIG5vIG91dHB1dCBvdGhlciB0aGFuIHRoZSBwcm9tcHQgY29tZXMgb3V0LAot KwkjIGxpa2U6Ci0rCSMKLSsJIyAgKGdkYikga2lsbAotKwkjICBLaWxsIHRoZSBwcm9ncmFtIGJl aW5nIGRlYnVnZ2VkPyAoeSBvciBuKSB5Ci0rCSMgIChnZGIpCi0rCSMKLSsJIyBJZiB3ZSBpbnN0 ZWFkIHNhdyBtb3JlIG91dHB1dCwgbGlrZSBlLmcuLCB3aXRoIGFuIGV4dGVuZGVkLXJlbW90ZQot KwkjIGNvbm5lY3Rpb246Ci0rCSMKLSsJIyAgKGdkYikga2lsbAotKwkjICBLaWxsIHRoZSBwcm9n cmFtIGJlaW5nIGRlYnVnZ2VkPyAoeSBvciBuKSB5Ci0rCSMgIFJlbW90ZSBjb25uZWN0aW9uIGNs b3NlZAotKwkjICAoZ2RiKQotKwkjCi0rCSMgdGhlIGFib3ZlIHdvdWxkIG1lYW4gdGhhdCB0aGUg cmVtb3RlIGVuZCBjcmFzaGVkLgotKwotKwlnZGJfdGVzdCAia2lsbCIgIl55IiAia2lsbCBwcm9n cmFtIiAiS2lsbCB0aGUgcHJvZ3JhbSBiZWluZyBkZWJ1Z2dlZFxcPyBcXCh5IG9yIG5cXCkgJCIg InkiCi0rICAgIH0KLSt9Ci0rCi0rZm9yZWFjaCB0aHJlYWRlZCB7dHJ1ZSBmYWxzZX0gewotKyAg ICB0ZXN0ICR0aHJlYWRlZAotK30KCmRpZmYgLS1naXQgYS9nZGItdmxhLWludGVsLnBhdGNoIGIv Z2RiLXZsYS1pbnRlbC5wYXRjaAppbmRleCAwYTY0NmFiLi5kNGY5ZWVkIDEwMDY0NAotLS0gYS9n ZGItdmxhLWludGVsLnBhdGNoCisrKyBiL2dkYi12bGEtaW50ZWwucGF0Y2gKQEAgLTMsMTkgKzMs MTggQEAgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8yMDE0LTA2L21zZzAw MTA4Lmh0bWwKIGh0dHBzOi8vZ2l0aHViLmNvbS9pbnRlbC1nZGIvdmxhL3RyZWUvdmxhLWZvcnRy YW4KIAogR0lUIHNuYXBzaG90OgotY29tbWl0IGM2MjJhMDQ3ZDIzYmNiYzRkYzY4Mzk4ZmM3MGI1 MzFjZWJkOGY1ZWUKK2NvbW1pdCA1MTFiZmY1MjAzNzJmZmMxMGZhMmZmNTY5YzE3NmJkZjFlNmU0 NzVkCiAKIAogZGlmZiAtLWdpdCBhL2dkYi9ORVdTIGIvZ2RiL05FV1MKLWluZGV4IGQ5YTE5YWUu LjFmMjJmZWEgMTAwNjQ0CitpbmRleCBkOWExOWFlLi5lNjg4NWQyIDEwMDY0NAogIyMjIGEvZ2Ri L05FV1MKICMjIyBiL2dkYi9ORVdTCi1AQCAtMyw2ICszLDEwIEBACitAQCAtMyw2ICszLDkgQEAK ICAKICAqKiogQ2hhbmdlcyBzaW5jZSBHREIgNy44CiAgCi0rKiBGb3J0cmFuIGR5bmFtaWMgYXJy YXkgc3VwcG9ydDogR0RCIGhhcyBub3cgc3VwcG9ydCBmb3IKLSsgIGR5bmFtaWMgYXJyYXlzIGlu IEZvcnRyYW4uIEl0IGFsbG93cyB0aGUgdXNlciB0byBldmFsdWF0ZQorKyogRm9ydHJhbiBkeW5h bWljIGFycmF5IHN1cHBvcnQ6IEl0IGFsbG93cyB0aGUgdXNlciB0byBldmFsdWF0ZQogKyAgZHlu YW1pYyBhcnJheXMgbGlrZSBhbiBvcmRpbmFyeSBzdGF0aWMgYXJyYXkuCiArCiAgKioqIENoYW5n ZXMgaW4gR0RCIDcuOApAQCAtNzgsNyArNzcsNyBAQCBpbmRleCAzOWRhZGYzLi44Y2ViYmU4IDEw MDY0NAogIAogIC8qIFRoZSBsb2NhdGlvbiBvZiBhIHZhbHVlLiAgKi8KIGRpZmYgLS1naXQgYS9n ZGIvZHdhcmYybG9jLmMgYi9nZGIvZHdhcmYybG9jLmMKLWluZGV4IGZjYWI5YjkuLjRhYWMyNzgg MTAwNjQ0CitpbmRleCBmY2FiOWI5Li5hNjI0ZGFjIDEwMDY0NAogLS0tIGEvZ2RiL2R3YXJmMmxv Yy5jCiArKysgYi9nZGIvZHdhcmYybG9jLmMKIEBAIC0zMDYsNiArMzA2LDcgQEAgc3RydWN0IGR3 YXJmX2V4cHJfYmF0b24KQEAgLTEzOCw3ICsxMzcsMTkgQEAgaW5kZXggZmNhYjliOS4uNGFhYzI3 OCAxMDA2NDQKICAKICAgIGN0eCA9IG5ld19kd2FyZl9leHByX2NvbnRleHQgKCk7CiAgICBvbGRf Y2hhaW4gPSBtYWtlX2NsZWFudXBfZnJlZV9kd2FyZl9leHByX2NvbnRleHQgKGN0eCk7Ci1AQCAt MjQzNiw2ICsyNDU2LDcgQEAgZHdhcmYyX2V2YWx1YXRlX2xvY19kZXNjIChzdHJ1Y3QgdHlwZSAq dHlwZSwgc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLAorQEAgLTIzMjYsNiArMjM0NiwxMSBAQCBk d2FyZjJfZXZhbHVhdGVfbG9jX2Rlc2NfZnVsbCAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCBm cmFtZV9pbmZvICpmcmFtZSwKKyAJICAgIGludCBpbl9zdGFja19tZW1vcnkgPSBkd2FyZl9leHBy X2ZldGNoX2luX3N0YWNrX21lbW9yeSAoY3R4LCAwKTsKKyAKKyAJICAgIGRvX2NsZWFudXBzICh2 YWx1ZV9jaGFpbik7CisrCisrCSAgICAvKiBTZWxlY3QgcmlnaHQgZnJhbWUgdG8gY29ycmVjdGx5 IGV2YWx1YXRlIFZMQSdzIGR1cmluZyBhIGJhY2t0cmFjZS4gICovCisrCSAgICBpZiAoaXNfZHlu YW1pY190eXBlICh0eXBlKSkKKysJICAgICAgc2VsZWN0X2ZyYW1lIChmcmFtZSk7CisrCisgCSAg ICByZXR2YWwgPSB2YWx1ZV9hdF9sYXp5ICh0eXBlLCBhZGRyZXNzICsgYnl0ZV9vZmZzZXQpOwor IAkgICAgaWYgKGluX3N0YWNrX21lbW9yeSkKKyAJICAgICAgc2V0X3ZhbHVlX3N0YWNrIChyZXR2 YWwsIDEpOworQEAgLTI0MzYsNiArMjQ2MSw3IEBAIGR3YXJmMl9ldmFsdWF0ZV9sb2NfZGVzYyAo c3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwKICAKICBzdGF0aWMg aW50CiAgZHdhcmYyX2xvY2V4cHJfYmF0b25fZXZhbCAoY29uc3Qgc3RydWN0IGR3YXJmMl9sb2Nl eHByX2JhdG9uICpkbGJhdG9uLApAQCAtMTQ2LDcgKzE1Nyw3IEBAIGluZGV4IGZjYWI5YjkuLjRh YWMyNzggMTAwNjQ0CiAgCQkJICAgQ09SRV9BRERSICp2YWxwKQogIHsKICAgIHN0cnVjdCBkd2Fy Zl9leHByX2NvbnRleHQgKmN0eDsKLUBAIC0yNDUxLDYgKzI0NzIsNyBAQCBkd2FyZjJfbG9jZXhw cl9iYXRvbl9ldmFsIChjb25zdCBzdHJ1Y3QgZHdhcmYyX2xvY2V4cHJfYmF0b24gKmRsYmF0b24s CitAQCAtMjQ1MSw2ICsyNDc3LDcgQEAgZHdhcmYyX2xvY2V4cHJfYmF0b25fZXZhbCAoY29uc3Qg c3RydWN0IGR3YXJmMl9sb2NleHByX2JhdG9uICpkbGJhdG9uLAogIAogICAgYmF0b24uZnJhbWUg PSBnZXRfc2VsZWN0ZWRfZnJhbWUgKE5VTEwpOwogICAgYmF0b24ucGVyX2N1ID0gZGxiYXRvbi0+ cGVyX2N1OwpAQCAtMTU0LDcgKzE2NSw3IEBAIGluZGV4IGZjYWI5YjkuLjRhYWMyNzggMTAwNjQ0 CiAgCiAgICBvYmpmaWxlID0gZHdhcmYyX3Blcl9jdV9vYmpmaWxlIChkbGJhdG9uLT5wZXJfY3Up OwogIAotQEAgLTI0OTEsNyArMjUxMyw4IEBAIGR3YXJmMl9sb2NleHByX2JhdG9uX2V2YWwgKGNv bnN0IHN0cnVjdCBkd2FyZjJfbG9jZXhwcl9iYXRvbiAqZGxiYXRvbiwKK0BAIC0yNDkxLDcgKzI1 MTgsOCBAQCBkd2FyZjJfbG9jZXhwcl9iYXRvbl9ldmFsIChjb25zdCBzdHJ1Y3QgZHdhcmYyX2xv Y2V4cHJfYmF0b24gKmRsYmF0b24sCiAgLyogU2VlIGR3YXJmMmxvYy5oLiAgKi8KICAKICBpbnQK QEAgLTE2NCw3ICsxNzUsNyBAQCBpbmRleCBmY2FiOWI5Li40YWFjMjc4IDEwMDY0NAogIHsKICAg IGlmIChwcm9wID09IE5VTEwpCiAgICAgIHJldHVybiAwOwotQEAgLTI1MDIsNyArMjUyNSw3IEBA IGR3YXJmMl9ldmFsdWF0ZV9wcm9wZXJ0eSAoY29uc3Qgc3RydWN0IGR5bmFtaWNfcHJvcCAqcHJv cCwgQ09SRV9BRERSICp2YWx1ZSkKK0BAIC0yNTAyLDcgKzI1MzAsNyBAQCBkd2FyZjJfZXZhbHVh dGVfcHJvcGVydHkgKGNvbnN0IHN0cnVjdCBkeW5hbWljX3Byb3AgKnByb3AsIENPUkVfQUREUiAq dmFsdWUpCiAgICAgICAgewogIAljb25zdCBzdHJ1Y3QgZHdhcmYyX3Byb3BlcnR5X2JhdG9uICpi YXRvbiA9IHByb3AtPmRhdGEuYmF0b247CiAgCkBAIC0xNzMsMzEgKzE4NCw3IEBAIGluZGV4IGZj YWI5YjkuLjRhYWMyNzggMTAwNjQ0CiAgCSAgewogIAkgICAgaWYgKGJhdG9uLT5yZWZlcmVuY2Vk X3R5cGUpCiAgCSAgICAgIHsKLUBAIC0yNTEwLDYgKzI1MzMsMTEgQEAgZHdhcmYyX2V2YWx1YXRl X3Byb3BlcnR5IChjb25zdCBzdHJ1Y3QgZHluYW1pY19wcm9wICpwcm9wLCBDT1JFX0FERFIgKnZh bHVlKQotIAotIAkJKnZhbHVlID0gdmFsdWVfYXNfYWRkcmVzcyAodmFsKTsKLSAJICAgICAgfQot KwkgICAgaWYgKGJhdG9uLT5wb3N0X3ZhbHVlcy5kYXRhICYmIGJhdG9uLT5wb3N0X3ZhbHVlcy5z aXplID4gMCkKLSsJICAgICAgewotKwkgICAgICAgIENPUkVfQUREUiBuZXdfYWRkciA9ICp2YWx1 ZTsKLSsJICAgICAgICBkd2FyZjJfbG9jZXhwcl9iYXRvbl9ldmFsICgmYmF0b24tPnBvc3RfdmFs dWVzLCBuZXdfYWRkciwgdmFsdWUpOwotKwkgICAgICB9Ci0gCSAgICByZXR1cm4gMTsKLSAJICB9 Ci0gICAgICAgfQotQEAgLTI1MzIsNiArMjU2MCwxMSBAQCBkd2FyZjJfZXZhbHVhdGVfcHJvcGVy dHkgKGNvbnN0IHN0cnVjdCBkeW5hbWljX3Byb3AgKnByb3AsIENPUkVfQUREUiAqdmFsdWUpCi0g CSAgICBpZiAoIXZhbHVlX29wdGltaXplZF9vdXQgKHZhbCkpCi0gCSAgICAgIHsKLSAJCSp2YWx1 ZSA9IHZhbHVlX2FzX2FkZHJlc3MgKHZhbCk7Ci0rCQlpZiAoYmF0b24tPnBvc3RfdmFsdWVzLmRh dGEgJiYgYmF0b24tPnBvc3RfdmFsdWVzLnNpemUgPiAwKQotKwkJICB7Ci0rCQkgICAgQ09SRV9B RERSIG5ld19hZGRyID0gKnZhbHVlOwotKwkJICAgIGR3YXJmMl9sb2NleHByX2JhdG9uX2V2YWwg KCZiYXRvbi0+cG9zdF92YWx1ZXMsIG5ld19hZGRyLCB2YWx1ZSk7Ci0rCQkgIH0KLSAJCXJldHVy biAxOwotIAkgICAgICB9Ci0gCSAgfQotQEAgLTI1NDYsNiArMjU3OSwyMCBAQCBkd2FyZjJfZXZh bHVhdGVfcHJvcGVydHkgKGNvbnN0IHN0cnVjdCBkeW5hbWljX3Byb3AgKnByb3AsIENPUkVfQURE UiAqdmFsdWUpCitAQCAtMjU0Niw2ICsyNTc0LDIwIEBAIGR3YXJmMl9ldmFsdWF0ZV9wcm9wZXJ0 eSAoY29uc3Qgc3RydWN0IGR5bmFtaWNfcHJvcCAqcHJvcCwgQ09SRV9BRERSICp2YWx1ZSkKICAg IHJldHVybiAwOwogIH0KICAKQEAgLTIxOCw3ICsyMDUsNyBAQCBpbmRleCBmY2FiOWI5Li40YWFj Mjc4IDEwMDY0NAogIAwKICAvKiBIZWxwZXIgZnVuY3Rpb25zIGFuZCBiYXRvbiBmb3IgZHdhcmYy X2xvY19kZXNjX25lZWRzX2ZyYW1lLiAgKi8KICAKLUBAIC0yNjUzLDYgKzI3MDAsMTUgQEAgbmVl ZHNfZ2V0X2FkZHJfaW5kZXggKHZvaWQgKmJhdG9uLCB1bnNpZ25lZCBpbnQgaW5kZXgpCitAQCAt MjY1Myw2ICsyNjk1LDE1IEBAIG5lZWRzX2dldF9hZGRyX2luZGV4ICh2b2lkICpiYXRvbiwgdW5z aWduZWQgaW50IGluZGV4KQogICAgcmV0dXJuIDE7CiAgfQogIApAQCAtMjM0LDcgKzIyMSw3IEBA IGluZGV4IGZjYWI5YjkuLjRhYWMyNzggMTAwNjQ0CiAgLyogVmlydHVhbCBtZXRob2QgdGFibGUg Zm9yIGR3YXJmMl9sb2NfZGVzY19uZWVkc19mcmFtZSBiZWxvdy4gICovCiAgCiAgc3RhdGljIGNv bnN0IHN0cnVjdCBkd2FyZl9leHByX2NvbnRleHRfZnVuY3MgbmVlZHNfZnJhbWVfY3R4X2Z1bmNz ID0KLUBAIC0yNjY3LDcgKzI3MjMsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGR3YXJmX2V4cHJf Y29udGV4dF9mdW5jcyBuZWVkc19mcmFtZV9jdHhfZnVuY3MgPQorQEAgLTI2NjcsNyArMjcxOCw4 IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHdhcmZfZXhwcl9jb250ZXh0X2Z1bmNzIG5lZWRzX2Zy YW1lX2N0eF9mdW5jcyA9CiAgICBuZWVkc19mcmFtZV9kd2FyZl9jYWxsLAogICAgTlVMTCwJCQkJ LyogZ2V0X2Jhc2VfdHlwZSAqLwogICAgbmVlZHNfZHdhcmZfcmVnX2VudHJ5X3ZhbHVlLApAQCAt MjQ0LDcgKzIzMSw3IEBAIGluZGV4IGZjYWI5YjkuLjRhYWMyNzggMTAwNjQ0CiAgfTsKICAKICAv KiBSZXR1cm4gbm9uLXplcm8gaWZmIHRoZSBsb2NhdGlvbiBleHByZXNzaW9uIGF0IERBVEEgKGxl bmd0aCBTSVpFKQotQEAgLTMzMTYsNiArMzM3MywxMCBAQCBkd2FyZjJfY29tcGlsZV9leHByX3Rv X2F4IChzdHJ1Y3QgYWdlbnRfZXhwciAqZXhwciwgc3RydWN0IGF4c192YWx1ZSAqbG9jLAorQEAg LTMzMTYsNiArMzM2OCwxMCBAQCBkd2FyZjJfY29tcGlsZV9leHByX3RvX2F4IChzdHJ1Y3QgYWdl bnRfZXhwciAqZXhwciwgc3RydWN0IGF4c192YWx1ZSAqbG9jLAogIAkgIHVuaW1wbGVtZW50ZWQg KG9wKTsKICAJICBicmVhazsKICAKQEAgLTI1Niw3ICsyNDMsNyBAQCBpbmRleCBmY2FiOWI5Li40 YWFjMjc4IDEwMDY0NAogIAkgIG9mZnNldCA9IGV4dHJhY3Rfc2lnbmVkX2ludGVnZXIgKG9wX3B0 ciwgMiwgYnl0ZV9vcmRlcik7CiAgCSAgb3BfcHRyICs9IDI7CiBkaWZmIC0tZ2l0IGEvZ2RiL2R3 YXJmMmxvYy5oIGIvZ2RiL2R3YXJmMmxvYy5oCi1pbmRleCA4YWQ1ZmE5Li5jZjY0OGViIDEwMDY0 NAoraW5kZXggOGFkNWZhOS4uZmI2NWM1YyAxMDA2NDQKIC0tLSBhL2dkYi9kd2FyZjJsb2MuaAog KysrIGIvZ2RiL2R3YXJmMmxvYy5oCiBAQCAtOTYsMTEgKzk2LDE4IEBAIHN0cnVjdCB2YWx1ZSAq ZHdhcmYyX2V2YWx1YXRlX2xvY19kZXNjIChzdHJ1Y3QgdHlwZSAqdHlwZSwKQEAgLTI3OCwyMSAr MjY1LDExIEBAIGluZGV4IDhhZDVmYTkuLmNmNjQ4ZWIgMTAwNjQ0CiAgLyogVGhlIHN5bWJvbCBs b2NhdGlvbiBiYXRvbiB0eXBlcyB1c2VkIGJ5IHRoZSBEV0FSRi0yIHJlYWRlciAoaS5lLgogICAg IFNZTUJPTF9MT0NBVElPTl9CQVRPTiBmb3IgYSBMT0NfQ09NUFVURUQgc3ltYm9sKS4gICJzdHJ1 Y3QKICAgICBkd2FyZjJfbG9jZXhwcl9iYXRvbiIgaXMgZm9yIGEgc3ltYm9sIHdpdGggYSBzaW5n bGUgbG9jYXRpb24KLUBAIC0xNjEsNiArMTY4LDkgQEAgc3RydWN0IGR3YXJmMl9wcm9wZXJ0eV9i YXRvbgotICAgICAvKiBMb2NhdGlvbiBsaXN0IHRvIGJlIGV2YWx1YXRlZCBpbiB0aGUgY29udGV4 dCBvZiBSRUZFUkVOQ0VEX1RZUEUuICAqLwotICAgICBzdHJ1Y3QgZHdhcmYyX2xvY2xpc3RfYmF0 b24gbG9jbGlzdDsKLSAgIH07Ci0rCi0rICAvKiBBdHRyaWJ1dGVzLCB3aGljaCB3aWxsIGJlIHB1 c2hlZCBhZnRlciBldmFsdWF0aW5nIGxvY2V4cHIgb3IgbG9jbGlzdC4gICovCi0rICBzdHJ1Y3Qg ZHdhcmYyX2xvY2V4cHJfYmF0b24gcG9zdF92YWx1ZXM7Ci0gfTsKLSAKLSBleHRlcm4gY29uc3Qg c3RydWN0IHN5bWJvbF9jb21wdXRlZF9vcHMgZHdhcmYyX2xvY2V4cHJfZnVuY3M7CiBkaWZmIC0t Z2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBiL2dkYi9kd2FyZjJyZWFkLmMKLWluZGV4IDI3NmQyZjEu LmY1YjM1ZDcgMTAwNjQ0CitpbmRleCAyNzZkMmYxLi5mYmYxM2NlIDEwMDY0NAogLS0tIGEvZ2Ri L2R3YXJmMnJlYWQuYwogKysrIGIvZ2RiL2R3YXJmMnJlYWQuYwotQEAgLTE4NDcsNiArMTg0Nywx NSBAQCBzdGF0aWMgdm9pZCBmcmVlX2R3b19maWxlX2NsZWFudXAgKHZvaWQgKik7CitAQCAtMTg0 Nyw2ICsxODQ3LDEyIEBAIHN0YXRpYyB2b2lkIGZyZWVfZHdvX2ZpbGVfY2xlYW51cCAodm9pZCAq KTsKICBzdGF0aWMgdm9pZCBwcm9jZXNzX2N1X2luY2x1ZGVzICh2b2lkKTsKICAKICBzdGF0aWMg dm9pZCBjaGVja19wcm9kdWNlciAoc3RydWN0IGR3YXJmMl9jdSAqY3UpOwpAQCAtMzAyLDEzICsy NzksMTAgQEAgaW5kZXggMjc2ZDJmMS4uZjViMzVkNyAxMDA2NDQKICsJCSAgICAgIHN0cnVjdCBk d2FyZjJfY3UgKmN1LCBzdHJ1Y3QgZHluYW1pY19wcm9wICpwcm9wLAogKwkJICAgICAgY29uc3Qg Z2RiX2J5dGUgKmFkZGl0aW9uYWxfZGF0YSwgaW50IGFkZGl0aW9uYWxfZGF0YV9zaXplKTsKICsK LStzdGF0aWMgdm9pZCBhZGRfcG9zdF92YWx1ZXNfdG9fYmF0b24gKHN0cnVjdCBkd2FyZjJfcHJv cGVydHlfYmF0b24gKmJhdG9uLAotKyAgICAgICAgY29uc3QgZ2RiX2J5dGUgKmRhdGEsIGludCBz aXplLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSk7Ci0rCiAgDAogIC8qIFZhcmlvdXMgY29tcGxhaW50 cyBhYm91dCBzeW1ib2wgcmVhZGluZyB0aGF0IGRvbid0IGFib3J0IHRoZSBwcm9jZXNzLiAgKi8K ICAKLUBAIC0xNDIwMSwyOSArMTQyMTAsOTAgQEAgcmVhZF90YWdfc3RyaW5nX3R5cGUgKHN0cnVj dCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC0xNDIwMSwyOSArMTQy MDcsOTIgQEAgcmVhZF90YWdfc3RyaW5nX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1 Y3QgZHdhcmYyX2N1ICpjdSkKICAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoID0gZ2V0X29iamZp bGVfYXJjaCAob2JqZmlsZSk7CiAgICBzdHJ1Y3QgdHlwZSAqdHlwZSwgKnJhbmdlX3R5cGUsICpp bmRleF90eXBlLCAqY2hhcl90eXBlOwogICAgc3RydWN0IGF0dHJpYnV0ZSAqYXR0cjsKQEAgLTM0 OCw3ICszMjIsNiBAQCBpbmRleCAyNzZkMmYxLi5mNWIzNWQ3IDEwMDY0NAogKyAgICAgICAgICAg ICAgICAgZGF0YSBhdHRyaWJ1dGUsIHRvIHJlZmxlY3QgRFdBUkYgc3BlY2lhbGl0aWVzIHRvIGdl dCBhZGRyZXNzCiArICAgICAgICAgICAgICAgICBzaXplcy4gICovCiArICAgICAgICAgICAgICBj b25zdCBnZGJfYnl0ZSBhcHBlbmRfb3BzW10gPSB7Ci0rICAgICAgICAgICAgICAgIERXX09QX3B1 c2hfb2JqZWN0X2FkZHJlc3MsCiArICAgICAgICAgICAgICAgIC8qIERXX09QX2RlcmVmX3NpemU6 IHNpemUgb2YgYW4gYWRkcmVzcyBvbiB0aGUgdGFyZ2V0IG1hY2hpbmUKICsgICAgICAgICAgICAg ICAgICAgKGJ5dGVzKSwgd2hlcmUgdGhlIHNpemUgd2lsbCBiZSBzcGVjaWZpZWQgYnkgdGhlIG5l eHQKICsgICAgICAgICAgICAgICAgICAgb3BlcmFuZC4gICovCkBAIC0zNjgsNyArMzQxLDEwIEBA IGluZGV4IDI3NmQyZjEuLmY1YjM1ZDcgMTAwNjQ0CiArICAgICAgICAgICAgIGlzIHRoZSBhZGRy ZXNzIHNpemUgb2YgdGhlIHRhcmdldCBtYWNoaW5lLiAgKi8KICsgICAgICAgICAgZWxzZQogKyAg ICAgICAgICAgIHsKLSsgICAgICAgICAgICAgIGlmICghYXR0cl90b19keW5hbWljX3Byb3AgKGF0 dHIsIGRpZSwgY3UsICZoaWdoLCBOVUxMLCAwKSkKKysgICAgICAgICAgICAgIGNvbnN0IGdkYl9i eXRlIGFwcGVuZF9vcHNbXSA9IHsgRFdfT1BfZGVyZWYgfTsKKysKKysgICAgICAgICAgICAgIGlm ICghYXR0cl90b19keW5hbWljX3Byb3AgKGF0dHIsIGRpZSwgY3UsICZoaWdoLCBhcHBlbmRfb3Bz LAorKyAgICAgICAgICAgICAgICAgICAgICBBUlJBWV9TSVpFIChhcHBlbmRfb3BzKSkpCiArICAg ICAgICAgICAgICAgIGNvbXBsYWludCAoJnN5bWZpbGVfY29tcGxhaW50cywKICsgICAgICAgICAg ICAgICAgICAgICAgICBfKCJDb3VsZCBub3QgcGFyc2UgRFdfQVRfc3RyaW5nX2xlbmd0aCIpKTsK ICsgICAgICAgICAgICB9CkBAIC00MDYsMzEgKzM4MiwxMCBAQCBpbmRleCAyNzZkMmYxLi5mNWIz NWQ3IDEwMDY0NAogICAgY2hhcl90eXBlID0gbGFuZ3VhZ2Vfc3RyaW5nX2NoYXJfdHlwZSAoY3Ut Pmxhbmd1YWdlX2RlZm4sIGdkYmFyY2gpOwogICAgdHlwZSA9IGNyZWF0ZV9zdHJpbmdfdHlwZSAo TlVMTCwgY2hhcl90eXBlLCByYW5nZV90eXBlKTsKICAKLUBAIC0xNDU0MCwxMyArMTQ2MTAsMzYg QEAgcmVhZF9iYXNlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1 ICpjdSkKK0BAIC0xNDU0MCwxMyArMTQ2MDksMTUgQEAgcmVhZF9iYXNlX3R5cGUgKHN0cnVjdCBk aWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKICAgIHJldHVybiBzZXRfZGllX3R5 cGUgKGRpZSwgdHlwZSwgY3UpOwogIH0KICAKLSsvKiBBZGQgcG9zdCBwcm9jZXNzaW5nIG9wLWNv ZGVzIHRvIGEgZHdhcmYyX3Byb3BlcnR5X2JhdG9uLiAgKi8KLSsKLStzdGF0aWMgdm9pZCBhZGRf cG9zdF92YWx1ZXNfdG9fYmF0b24gKHN0cnVjdCBkd2FyZjJfcHJvcGVydHlfYmF0b24gKmJhdG9u LAotKyAgICAgICAgY29uc3QgZ2RiX2J5dGUgKmRhdGEsIGludCBzaXplLCBzdHJ1Y3QgZHdhcmYy X2N1ICpjdSkKLSt7Ci0rICBpZiAoZGF0YSAhPSBOVUxMICYmIHNpemUgPiAwKQotKyAgICB7Ci0r ICAgICAgc3RydWN0IG9ic3RhY2sgKm9ic3RhY2sgPSAmY3UtPm9iamZpbGUtPm9iamZpbGVfb2Jz dGFjazsKLSsgICAgICBnZGJfYnl0ZSAqcG9zdF9kYXRhOwotKwotKyAgICAgIHBvc3RfZGF0YSA9 IG9ic3RhY2tfYWxsb2MgKG9ic3RhY2ssIHNpemUpOwotKyAgICAgIG1lbWNweShwb3N0X2RhdGEs IGRhdGEsIHNpemUpOwotKyAgICAgIGJhdG9uLT5wb3N0X3ZhbHVlcy5kYXRhID0gcG9zdF9kYXRh OwotKyAgICAgIGJhdG9uLT5wb3N0X3ZhbHVlcy5zaXplID0gc2l6ZTsKLSsgICAgICBiYXRvbi0+ cG9zdF92YWx1ZXMucGVyX2N1ID0gY3UtPnBlcl9jdTsKLSsgICAgfSBlbHNlIHsKLSsgICAgICBi YXRvbi0+cG9zdF92YWx1ZXMuZGF0YSA9IE5VTEw7Ci0rICAgICAgYmF0b24tPnBvc3RfdmFsdWVz LnNpemUgPSAwOwotKyAgICAgIGJhdG9uLT5wb3N0X3ZhbHVlcy5wZXJfY3UgPSBOVUxMOwotKyAg ICB9Ci0rfQogKwogIC8qIFBhcnNlIGR3YXJmIGF0dHJpYnV0ZSBpZiBpdCdzIGEgYmxvY2ssIHJl ZmVyZW5jZSBvciBjb25zdGFudCBhbmQgcHV0IHRoZQogICAgIHJlc3VsdGluZyB2YWx1ZSBvZiB0 aGUgYXR0cmlidXRlIGludG8gc3RydWN0IGJvdW5kX3Byb3AuCkBAIC00NDQsMzcgKzM5OSw2NiBA QCBpbmRleCAyNzZkMmYxLi5mNWIzNWQ3IDEwMDY0NAogIHsKICAgIHN0cnVjdCBkd2FyZjJfcHJv cGVydHlfYmF0b24gKmJhdG9uOwogICAgc3RydWN0IG9ic3RhY2sgKm9ic3RhY2sgPSAmY3UtPm9i amZpbGUtPm9iamZpbGVfb2JzdGFjazsKLUBAIC0xNDU1OSw4ICsxNDY1MiwxMCBAQCBhdHRyX3Rv X2R5bmFtaWNfcHJvcCAoY29uc3Qgc3RydWN0IGF0dHJpYnV0ZSAqYXR0ciwgc3RydWN0IGRpZV9p bmZvICpkaWUsCitAQCAtMTQ1NTksOCArMTQ2MzAsMjUgQEAgYXR0cl90b19keW5hbWljX3Byb3Ag KGNvbnN0IHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsIHN0cnVjdCBkaWVfaW5mbyAqZGllLAogICAg ICAgIGJhdG9uID0gb2JzdGFja19hbGxvYyAob2JzdGFjaywgc2l6ZW9mICgqYmF0b24pKTsKICAg ICAgICBiYXRvbi0+cmVmZXJlbmNlZF90eXBlID0gTlVMTDsKICAgICAgICBiYXRvbi0+bG9jZXhw ci5wZXJfY3UgPSBjdS0+cGVyX2N1OwogLSAgICAgIGJhdG9uLT5sb2NleHByLnNpemUgPSBEV19C TE9DSyAoYXR0ciktPnNpemU7Ci0gICAgICAgYmF0b24tPmxvY2V4cHIuZGF0YSA9IERXX0JMT0NL IChhdHRyKS0+ZGF0YTsKLSsgICAgICBiYXRvbi0+bG9jZXhwci5zaXplID0gRFdfQkxPQ0sgKGF0 dHIpLT5zaXplOwotKyAgICAgIGFkZF9wb3N0X3ZhbHVlc190b19iYXRvbiAoYmF0b24sIGFkZGl0 aW9uYWxfZGF0YSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxf ZGF0YV9zaXplLCBjdSk7CistICAgICAgYmF0b24tPmxvY2V4cHIuZGF0YSA9IERXX0JMT0NLIChh dHRyKS0+ZGF0YTsKKysKKysgICAgICBpZiAoYWRkaXRpb25hbF9kYXRhICE9IE5VTEwgJiYgYWRk aXRpb25hbF9kYXRhX3NpemUgPiAwKQorKyAgICAgICAgeworKyAgICAgICAgICBnZGJfYnl0ZSAq ZGF0YTsKKysKKysgICAgICAgICAgZGF0YSA9IG9ic3RhY2tfYWxsb2MgKCZjdS0+b2JqZmlsZS0+ b2JqZmlsZV9vYnN0YWNrLAorKyAgICAgICAgICAgICAgICAgIERXX0JMT0NLIChhdHRyKS0+c2l6 ZSArIGFkZGl0aW9uYWxfZGF0YV9zaXplKTsKKysgICAgICAgICAgbWVtY3B5IChkYXRhLCBEV19C TE9DSyAoYXR0ciktPmRhdGEsIERXX0JMT0NLIChhdHRyKS0+c2l6ZSk7CisrICAgICAgICAgIG1l bWNweSAoZGF0YSArIERXX0JMT0NLIChhdHRyKS0+c2l6ZSwKKysgICAgICAgICAgICAgICAgICBh ZGRpdGlvbmFsX2RhdGEsIGFkZGl0aW9uYWxfZGF0YV9zaXplKTsKKysKKysgICAgICAgICAgYmF0 b24tPmxvY2V4cHIuZGF0YSA9IGRhdGE7CisrICAgICAgICAgIGJhdG9uLT5sb2NleHByLnNpemUg PSBEV19CTE9DSyAoYXR0ciktPnNpemUgKyBhZGRpdGlvbmFsX2RhdGFfc2l6ZTsKKysgICAgICAg IH0KKysgICAgICBlbHNlCisrICAgICAgICB7CisrICAgICAgICAgIGJhdG9uLT5sb2NleHByLmRh dGEgPSBEV19CTE9DSyAoYXR0ciktPmRhdGE7CisrICAgICAgICAgIGJhdG9uLT5sb2NleHByLnNp emUgPSBEV19CTE9DSyAoYXR0ciktPnNpemU7CisrICAgICAgICB9CiAgICAgICAgcHJvcC0+ZGF0 YS5iYXRvbiA9IGJhdG9uOwogICAgICAgIHByb3AtPmtpbmQgPSBQUk9QX0xPQ0VYUFI7CiAgICAg ICAgZ2RiX2Fzc2VydCAocHJvcC0+ZGF0YS5iYXRvbiAhPSBOVUxMKTsKLUBAIC0xNDU4MSw2ICsx NDY3Niw4IEBAIGF0dHJfdG9fZHluYW1pY19wcm9wIChjb25zdCBzdHJ1Y3QgYXR0cmlidXRlICph dHRyLCBzdHJ1Y3QgZGllX2luZm8gKmRpZSwKK0BAIC0xNDU5MCw4ICsxNDY3OCwyOCBAQCBhdHRy X3RvX2R5bmFtaWNfcHJvcCAoY29uc3Qgc3RydWN0IGF0dHJpYnV0ZSAqYXR0ciwgc3RydWN0IGRp ZV9pbmZvICpkaWUsCiAgCSAgYmF0b24gPSBvYnN0YWNrX2FsbG9jIChvYnN0YWNrLCBzaXplb2Yg KCpiYXRvbikpOwogIAkgIGJhdG9uLT5yZWZlcmVuY2VkX3R5cGUgPSBkaWVfdHlwZSAodGFyZ2V0 X2RpZSwgdGFyZ2V0X2N1KTsKLSAJICBmaWxsX2luX2xvY2xpc3RfYmF0b24gKGN1LCAmYmF0b24t PmxvY2xpc3QsIHRhcmdldF9hdHRyKTsKLSsJICBhZGRfcG9zdF92YWx1ZXNfdG9fYmF0b24gKGJh dG9uLCBhZGRpdGlvbmFsX2RhdGEsCi0rCSAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRp dGlvbmFsX2RhdGFfc2l6ZSwgY3UpOwotIAkgIHByb3AtPmRhdGEuYmF0b24gPSBiYXRvbjsKLSAJ ICBwcm9wLT5raW5kID0gUFJPUF9MT0NMSVNUOwotIAkgIGdkYl9hc3NlcnQgKHByb3AtPmRhdGEu YmF0b24gIT0gTlVMTCk7Ci1AQCAtMTQ1OTIsNiArMTQ2ODksOCBAQCBhdHRyX3RvX2R5bmFtaWNf cHJvcCAoY29uc3Qgc3RydWN0IGF0dHJpYnV0ZSAqYXR0ciwgc3RydWN0IGRpZV9pbmZvICpkaWUs CiAgCSAgYmF0b24tPmxvY2V4cHIucGVyX2N1ID0gY3UtPnBlcl9jdTsKLSAJICBiYXRvbi0+bG9j ZXhwci5zaXplID0gRFdfQkxPQ0sgKHRhcmdldF9hdHRyKS0+c2l6ZTsKLSAJICBiYXRvbi0+bG9j ZXhwci5kYXRhID0gRFdfQkxPQ0sgKHRhcmdldF9hdHRyKS0+ZGF0YTsKLSsJICBhZGRfcG9zdF92 YWx1ZXNfdG9fYmF0b24gKGJhdG9uLCBhZGRpdGlvbmFsX2RhdGEsCi0rCSAgICAgICAgICAgICAg ICAgICAgICAgICAgICBhZGRpdGlvbmFsX2RhdGFfc2l6ZSwgY3UpOworLQkgIGJhdG9uLT5sb2Nl eHByLnNpemUgPSBEV19CTE9DSyAodGFyZ2V0X2F0dHIpLT5zaXplOworLQkgIGJhdG9uLT5sb2Nl eHByLmRhdGEgPSBEV19CTE9DSyAodGFyZ2V0X2F0dHIpLT5kYXRhOworKworKwkgIGlmIChhZGRp dGlvbmFsX2RhdGEgIT0gTlVMTCAmJiBhZGRpdGlvbmFsX2RhdGFfc2l6ZSA+IDApCisrCSAgICB7 CisrCSAgICAgIGdkYl9ieXRlICpkYXRhOworKworKwkgICAgICBkYXRhID0gb2JzdGFja19hbGxv YyAoJmN1LT5vYmpmaWxlLT5vYmpmaWxlX29ic3RhY2ssCisrCSAgICAgICAgICAgICAgRFdfQkxP Q0sgKHRhcmdldF9hdHRyKS0+c2l6ZSArIGFkZGl0aW9uYWxfZGF0YV9zaXplKTsKKysJICAgICAg bWVtY3B5IChkYXRhLCBEV19CTE9DSyAodGFyZ2V0X2F0dHIpLT5kYXRhLAorKwkgICAgICAgICAg ICAgIERXX0JMT0NLICh0YXJnZXRfYXR0ciktPnNpemUpOworKwkgICAgICBtZW1jcHkgKGRhdGEg KyBEV19CTE9DSyAodGFyZ2V0X2F0dHIpLT5zaXplLAorKwkgICAgICAgICAgICAgIGFkZGl0aW9u YWxfZGF0YSwgYWRkaXRpb25hbF9kYXRhX3NpemUpOworKworKwkgICAgICBiYXRvbi0+bG9jZXhw ci5kYXRhID0gZGF0YTsKKysJICAgICAgYmF0b24tPmxvY2V4cHIuc2l6ZSA9IChEV19CTE9DSyAo dGFyZ2V0X2F0dHIpLT5zaXplCisrCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyBhZGRp dGlvbmFsX2RhdGFfc2l6ZSk7CisrCSAgICB9CisrCSAgZWxzZQorKwkgICAgeworKwkgICAgICBi YXRvbi0+bG9jZXhwci5kYXRhID0gRFdfQkxPQ0sgKHRhcmdldF9hdHRyKS0+ZGF0YTsKKysJICAg ICAgYmF0b24tPmxvY2V4cHIuc2l6ZSA9IERXX0JMT0NLICh0YXJnZXRfYXR0ciktPnNpemU7Cisr CSAgICB9CisrCiAgCSAgcHJvcC0+ZGF0YS5iYXRvbiA9IGJhdG9uOwogIAkgIHByb3AtPmtpbmQg PSBQUk9QX0xPQ0VYUFI7CiAgCSAgZ2RiX2Fzc2VydCAocHJvcC0+ZGF0YS5iYXRvbiAhPSBOVUxM KTsKLUBAIC0xNDYyNiw3ICsxNDcyNSw3IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRp ZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTE0NjI2LDcgKzE0NzM0LDcg QEAgcmVhZF9zdWJyYW5nZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJm Ml9jdSAqY3UpCiAgICBzdHJ1Y3QgdHlwZSAqYmFzZV90eXBlLCAqb3JpZ19iYXNlX3R5cGU7CiAg ICBzdHJ1Y3QgdHlwZSAqcmFuZ2VfdHlwZTsKICAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHI7CkBA IC00ODMsNyArNDY3LDcgQEAgaW5kZXggMjc2ZDJmMS4uZjViMzVkNyAxMDA2NDQKICAgIGludCBs b3dfZGVmYXVsdF9pc192YWxpZDsKICAgIGludCBoaWdoX2JvdW5kX2lzX2NvdW50ID0gMDsKICAg IGNvbnN0IGNoYXIgKm5hbWU7Ci1AQCAtMTQ2NDYsNyArMTQ3NDUsOSBAQCByZWFkX3N1YnJhbmdl X3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC0x NDY0Niw3ICsxNDc1NCw5IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpk aWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogIAogICAgbG93LmtpbmQgPSBQUk9QX0NPTlNUOwog ICAgaGlnaC5raW5kID0gUFJPUF9DT05TVDsKQEAgLTQ5Myw3ICs0NzcsNyBAQCBpbmRleCAyNzZk MmYxLi5mNWIzNWQ3IDEwMDY0NAogIAogICAgLyogU2V0IExPV19ERUZBVUxUX0lTX1ZBTElEIGlm IGN1cnJlbnQgbGFuZ3VhZ2UgYW5kIERXQVJGIHZlcnNpb24gYWxsb3cKICAgICAgIG9taXR0aW5n IERXX0FUX2xvd2VyX2JvdW5kLiAgKi8KLUBAIC0xNDY3OSwxOSArMTQ3ODAsMjYgQEAgcmVhZF9z dWJyYW5nZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3Up CitAQCAtMTQ2NzksMTkgKzE0Nzg5LDI2IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRp ZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogICAgICAgIGJyZWFrOwogICAgICB9 CiAgCkBAIC01MjMsNyArNTA3LDcgQEAgaW5kZXggMjc2ZDJmMS4uZjViMzVkNyAxMDA2NDQKICAJ ewogIAkgIC8qIElmIGJvdW5kcyBhcmUgY29uc3RhbnQgZG8gdGhlIGZpbmFsIGNhbGN1bGF0aW9u IGhlcmUuICAqLwogIAkgIGlmIChsb3cua2luZCA9PSBQUk9QX0NPTlNUICYmIGhpZ2gua2luZCA9 PSBQUk9QX0NPTlNUKQotQEAgLTE0NzU1LDcgKzE0ODYzLDcgQEAgcmVhZF9zdWJyYW5nZV90eXBl IChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtMTQ3NTUs NyArMTQ4NzIsNyBAQCByZWFkX3N1YnJhbmdlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBz dHJ1Y3QgZHdhcmYyX2N1ICpjdSkKICAgICAgICAmJiAhVFlQRV9VTlNJR05FRCAoYmFzZV90eXBl KSAmJiAoaGlnaC5kYXRhLmNvbnN0X3ZhbCAmIG5lZ2F0aXZlX21hc2spKQogICAgICBoaWdoLmRh dGEuY29uc3RfdmFsIHw9IG5lZ2F0aXZlX21hc2s7CiAgCkBAIC01MzIsNyArNTE2LDcgQEAgaW5k ZXggMjc2ZDJmMS4uZjViMzVkNyAxMDA2NDQKICAKICAgIGlmIChoaWdoX2JvdW5kX2lzX2NvdW50 KQogICAgICBUWVBFX1JBTkdFX0RBVEEgKHJhbmdlX3R5cGUpLT5mbGFnX3VwcGVyX2JvdW5kX2lz X2NvdW50ID0gMTsKLUBAIC0yMTY3Myw2ICsyMTc4MSw4IEBAIHNldF9kaWVfdHlwZSAoc3RydWN0 IGRpZV9pbmZvICpkaWUsIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkK K0BAIC0yMTY3Myw2ICsyMTc5MCw4IEBAIHNldF9kaWVfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpk aWUsIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKICB7CiAgICBzdHJ1 Y3QgZHdhcmYyX3Blcl9jdV9vZmZzZXRfYW5kX3R5cGUgKipzbG90LCBvZnM7CiAgICBzdHJ1Y3Qg b2JqZmlsZSAqb2JqZmlsZSA9IGN1LT5vYmpmaWxlOwpAQCAtNTQxLDcgKzUyNSw3IEBAIGluZGV4 IDI3NmQyZjEuLmY1YjM1ZDcgMTAwNjQ0CiAgCiAgICAvKiBGb3IgQWRhIHR5cGVzLCBtYWtlIHN1 cmUgdGhhdCB0aGUgZ25hdC1zcGVjaWZpYyBkYXRhIGlzIGFsd2F5cwogICAgICAgaW5pdGlhbGl6 ZWQgKGlmIG5vdCBhbHJlYWR5IHNldCkuICBUaGVyZSBhcmUgYSBmZXcgdHlwZXMgd2hlcmUKLUBA IC0yMTY4Nyw2ICsyMTc5Nyw0MyBAQCBzZXRfZGllX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGll LCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtMjE2ODcsNiAr MjE4MDYsNDMgQEAgc2V0X2RpZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IHR5 cGUgKnR5cGUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogICAgICAgICYmICFIQVZFX0dOQVRfQVVY X0lORk8gKHR5cGUpKQogICAgICBJTklUX0dOQVRfU1BFQ0lGSUMgKHR5cGUpOwogIApAQCAtODY0 LDcgKzg0OCw3IEBAIGluZGV4IDQwOGM4Y2MuLjM4ZjMyZTAgMTAwNjQ0CiAgICAgICAgICAgICAg ZnB1dHNfZmlsdGVyZWQgKCIsICIsIHN0cmVhbSk7CiAgICAgICAgICB9CiBkaWZmIC0tZ2l0IGEv Z2RiL2dkYnR5cGVzLmMgYi9nZGIvZ2RidHlwZXMuYwotaW5kZXggZDBjMDAyZi4uM2Y1MmQ2MSAx MDA2NDQKK2luZGV4IGU5OWEyZjMuLjUzY2FlMmMgMTAwNjQ0CiAtLS0gYS9nZGIvZ2RidHlwZXMu YwogKysrIGIvZ2RiL2dkYnR5cGVzLmMKIEBAIC04MDUsNyArODA1LDggQEAgYWxsb2NhdGVfc3R1 Yl9tZXRob2QgKHN0cnVjdCB0eXBlICp0eXBlKQpAQCAtOTM0LDkgKzkxOCw5IEBAIGluZGV4IGQw YzAwMmYuLjNmNTJkNjEgMTAwNjQ0CiAgICAgICAgZWxzZSBpZiAoYml0X3N0cmlkZSA+IDApCiAg CVRZUEVfTEVOR1RIIChyZXN1bHRfdHlwZSkgPQogIAkgIChiaXRfc3RyaWRlICogKGhpZ2hfYm91 bmQgLSBsb3dfYm91bmQgKyAxKSArIDcpIC8gODsKLUBAIC0xNjE2LDExICsxNjI4LDMwIEBAIHN0 dWJfbm9uYW1lX2NvbXBsYWludCAodm9pZCkKLSBpbnQKLSBpc19keW5hbWljX3R5cGUgKHN0cnVj dCB0eXBlICp0eXBlKQorQEAgLTE2MTYsMTIgKzE2MjgsMzEgQEAgc3R1Yl9ub25hbWVfY29tcGxh aW50ICh2b2lkKQorIHN0YXRpYyBpbnQKKyBpc19keW5hbWljX3R5cGVfaW50ZXJuYWwgKHN0cnVj dCB0eXBlICp0eXBlLCBpbnQgdG9wX2xldmVsKQogIHsKICsgIGludCBpbmRleDsKICsKQEAgLTk0 NSw3ICs5MjksOCBAQCBpbmRleCBkMGMwMDJmLi4zZjUyZDYxIDEwMDY0NAogKwogICAgdHlwZSA9 IGNoZWNrX3R5cGVkZWYgKHR5cGUpOwogIAotICAgaWYgKFRZUEVfQ09ERSAodHlwZSkgPT0gVFlQ RV9DT0RFX1JFRikKKyAgIC8qIFdlIG9ubHkgd2FudCB0byByZWNvZ25pemUgcmVmZXJlbmNlcyBh dCB0aGUgb3V0ZXJtb3N0IGxldmVsLiAgKi8KKyAgIGlmICh0b3BfbGV2ZWwgJiYgVFlQRV9DT0RF ICh0eXBlKSA9PSBUWVBFX0NPREVfUkVGKQogICAgICB0eXBlID0gY2hlY2tfdHlwZWRlZiAoVFlQ RV9UQVJHRVRfVFlQRSAodHlwZSkpOwogIAogKyAgaWYgKFRZUEVfQVNTT0NJQVRFRF9QUk9QICh0 eXBlKSkKQEAgLTk2NSw3ICs5NTAsNyBAQCBpbmRleCBkMGMwMDJmLi4zZjUyZDYxIDEwMDY0NAog ICAgc3dpdGNoIChUWVBFX0NPREUgKHR5cGUpKQogICAgICB7CiAgICAgIGNhc2UgVFlQRV9DT0RF X1JBTkdFOgotQEAgLTE2MzAsMTEgKzE2NjEsMTkgQEAgaXNfZHluYW1pY190eXBlIChzdHJ1Y3Qg dHlwZSAqdHlwZSkKK0BAIC0xNjMxLDExICsxNjYyLDE5IEBAIGlzX2R5bmFtaWNfdHlwZV9pbnRl cm5hbCAoc3RydWN0IHR5cGUgKnR5cGUsIGludCB0b3BfbGV2ZWwpCiAgICAgICAgewogIAlnZGJf YXNzZXJ0IChUWVBFX05GSUVMRFMgKHR5cGUpID09IDEpOwogIApAQCAtOTc1LDIxICs5NjAsMjEg QEAgaW5kZXggZDBjMDAyZi4uM2Y1MmQ2MSAxMDA2NDQKICsgICAgIC0gdGhlIGJvdW5kcyBhcmUg ZHluYW1pYywKICsJICAgLSB0aGUgZWxlbWVudHMgaXQgY29udGFpbnMgaGF2ZSBhIGR5bmFtaWMg Y29udGVudHMKICsgICAgIC0gYSBkYXRhX2xvY2F0b24gYXR0cmlidXRlIHdhcyBmb3VuZC4gICov Ci0gCWlmIChpc19keW5hbWljX3R5cGUgKFRZUEVfSU5ERVhfVFlQRSAodHlwZSkpKQorIAlpZiAo aXNfZHluYW1pY190eXBlX2ludGVybmFsIChUWVBFX0lOREVYX1RZUEUgKHR5cGUpLCAwKSkKICAJ ICByZXR1cm4gMTsKLS0JcmV0dXJuIGlzX2R5bmFtaWNfdHlwZSAoVFlQRV9UQVJHRVRfVFlQRSAo dHlwZSkpOworLQlyZXR1cm4gaXNfZHluYW1pY190eXBlX2ludGVybmFsIChUWVBFX1RBUkdFVF9U WVBFICh0eXBlKSwgMCk7CiArCWVsc2UgaWYgKFRZUEVfREFUQV9MT0NBVElPTiAodHlwZSkgIT0g TlVMTAogKwkgICAgICAgICAmJiAoVFlQRV9EQVRBX0xPQ0FUSU9OX0tJTkQgKHR5cGUpID09IFBS T1BfTE9DRVhQUgogKwkgICAgICAgICAgICAgfHwgVFlQRV9EQVRBX0xPQ0FUSU9OX0tJTkQgKHR5 cGUpID09IFBST1BfTE9DTElTVCkpCiArICAgIHJldHVybiAxOwogKyAgZWxzZQotKyAgICByZXR1 cm4gaXNfZHluYW1pY190eXBlIChUWVBFX1RBUkdFVF9UWVBFICh0eXBlKSk7CisrICAgIHJldHVy biBpc19keW5hbWljX3R5cGVfaW50ZXJuYWwgKFRZUEVfVEFSR0VUX1RZUEUgKHR5cGUpLCAwKTsK ICsJYnJlYWs7CiAgICAgICAgfQogIAogICAgICBjYXNlIFRZUEVfQ09ERV9TVFJVQ1Q6Ci1AQCAt MTY0NywyOCArMTY4Niw0MCBAQCBpc19keW5hbWljX3R5cGUgKHN0cnVjdCB0eXBlICp0eXBlKQot IAkgICAgICAmJiBpc19keW5hbWljX3R5cGUgKFRZUEVfRklFTERfVFlQRSAodHlwZSwgaSkpKQor QEAgLTE2NDgsNiArMTY4NywxNyBAQCBpc19keW5hbWljX3R5cGVfaW50ZXJuYWwgKHN0cnVjdCB0 eXBlICp0eXBlLCBpbnQgdG9wX2xldmVsKQorIAkgICAgICAmJiBpc19keW5hbWljX3R5cGVfaW50 ZXJuYWwgKFRZUEVfRklFTERfVFlQRSAodHlwZSwgaSksIDApKQogIAkgICAgcmV0dXJuIDE7CiAg ICAgICAgfQogKyAgICBjYXNlIFRZUEVfQ09ERV9QVFI6CkBAIC0xMDA2LDggKzk5MSw5IEBAIGlu ZGV4IGQwYzAwMmYuLjNmNTJkNjEgMTAwNjQ0CiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAKLSAg IHJldHVybiAwOwotIH0KK0BAIC0xNjY2LDIyICsxNzE2LDIzIEBAIHN0YXRpYyBzdHJ1Y3QgdHlw ZSAqcmVzb2x2ZV9keW5hbWljX3R5cGVfaW50ZXJuYWwgKHN0cnVjdCB0eXBlICp0eXBlLAorIAkJ CQkJCSAgIENPUkVfQUREUiBhZGRyLAorIAkJCQkJCSAgIGludCB0b3BfbGV2ZWwpOwogIAogLS8q IEdpdmVuIGEgZHluYW1pYyByYW5nZSB0eXBlIChkeW5fcmFuZ2VfdHlwZSksIHJldHVybiBhIHN0 YXRpYyB2ZXJzaW9uCiAtICAgb2YgdGhhdCB0eXBlLiAgKi8KQEAgLTEwMzQsNyArMTAyMCw3IEBA IGluZGV4IGQwYzAwMmYuLjNmNTJkNjEgMTAwNjQ0CiAgICAgIHsKICAgICAgICBsb3dfYm91bmQu a2luZCA9IFBST1BfQ09OU1Q7CiAgICAgICAgbG93X2JvdW5kLmRhdGEuY29uc3RfdmFsID0gdmFs dWU7Ci1AQCAtMTY4MCw3ICsxNzMxLDcgQEAgcmVzb2x2ZV9keW5hbWljX3JhbmdlIChzdHJ1Y3Qg dHlwZSAqZHluX3JhbmdlX3R5cGUpCitAQCAtMTY5Myw3ICsxNzQ0LDcgQEAgcmVzb2x2ZV9keW5h bWljX3JhbmdlIChzdHJ1Y3QgdHlwZSAqZHluX3JhbmdlX3R5cGUpCiAgICAgIH0KICAKICAgIHBy b3AgPSAmVFlQRV9SQU5HRV9EQVRBIChkeW5fcmFuZ2VfdHlwZSktPmhpZ2g7CkBAIC0xMDQzLDcg KzEwMjksNyBAQCBpbmRleCBkMGMwMDJmLi4zZjUyZDYxIDEwMDY0NAogICAgICB7CiAgICAgICAg aGlnaF9ib3VuZC5raW5kID0gUFJPUF9DT05TVDsKICAgICAgICBoaWdoX2JvdW5kLmRhdGEuY29u c3RfdmFsID0gdmFsdWU7Ci1AQCAtMTY5NCwxMCArMTc0NSwxNyBAQCByZXNvbHZlX2R5bmFtaWNf cmFuZ2UgKHN0cnVjdCB0eXBlICpkeW5fcmFuZ2VfdHlwZSkKK0BAIC0xNzA3LDEwICsxNzU4LDE3 IEBAIHJlc29sdmVfZHluYW1pY19yYW5nZSAoc3RydWN0IHR5cGUgKmR5bl9yYW5nZV90eXBlKQog ICAgICAgIGhpZ2hfYm91bmQua2luZCA9IFBST1BfVU5ERUZJTkVEOwogICAgICAgIGhpZ2hfYm91 bmQuZGF0YS5jb25zdF92YWwgPSAwOwogICAgICB9CkBAIC0xMDY0LDcgKzEwNTAsNyBAQCBpbmRl eCBkMGMwMDJmLi4zZjUyZDYxIDEwMDY0NAogICAgVFlQRV9SQU5HRV9EQVRBIChzdGF0aWNfcmFu Z2VfdHlwZSktPmZsYWdfYm91bmRfZXZhbHVhdGVkID0gMTsKICAgIHJldHVybiBzdGF0aWNfcmFu Z2VfdHlwZTsKICB9Ci1AQCAtMTcwNywyOSArMTc2NSw1MiBAQCByZXNvbHZlX2R5bmFtaWNfcmFu Z2UgKHN0cnVjdCB0eXBlICpkeW5fcmFuZ2VfdHlwZSkKK0BAIC0xNzIwLDI5ICsxNzc4LDUyIEBA IHJlc29sdmVfZHluYW1pY19yYW5nZSAoc3RydWN0IHR5cGUgKmR5bl9yYW5nZV90eXBlKQogICAg IG9mIHRoZSBhc3NvY2lhdGVkIGFycmF5LiAgKi8KICAKICBzdGF0aWMgc3RydWN0IHR5cGUgKgpA QCAtMTEyNSwyNCArMTExMSwxNiBAQCBpbmRleCBkMGMwMDJmLi4zZjUyZDYxIDEwMDY0NAogIH0K ICAKICAvKiBSZXNvbHZlIGR5bmFtaWMgYm91bmRzIG9mIG1lbWJlcnMgb2YgdGhlIHVuaW9uIFRZ UEUgdG8gc3RhdGljCi1AQCAtMTgyMyw2ICsxOTA0LDcgQEAgcmVzb2x2ZV9keW5hbWljX3N0cnVj dCAoc3RydWN0IHR5cGUgKnR5cGUsIENPUkVfQUREUiBhZGRyKQotICAgcmV0dXJuIHJlc29sdmVk X3R5cGU7Ci0gfQotIAotKwotIC8qIFNlZSBnZGJ0eXBlcy5oICAqLwotIAotIHN0cnVjdCB0eXBl ICoKLUBAIC0xODMwLDYgKzE5MTIsOCBAQCByZXNvbHZlX2R5bmFtaWNfdHlwZSAoc3RydWN0IHR5 cGUgKnR5cGUsIENPUkVfQUREUiBhZGRyKQorQEAgLTE4NDYsNiArMTkyNyw4IEBAIHJlc29sdmVf ZHluYW1pY190eXBlX2ludGVybmFsIChzdHJ1Y3QgdHlwZSAqdHlwZSwgQ09SRV9BRERSIGFkZHIs CiAgewogICAgc3RydWN0IHR5cGUgKnJlYWxfdHlwZSA9IGNoZWNrX3R5cGVkZWYgKHR5cGUpOwog ICAgc3RydWN0IHR5cGUgKnJlc29sdmVkX3R5cGUgPSB0eXBlOwogKyAgY29uc3Qgc3RydWN0IGR5 bmFtaWNfcHJvcCAqcHJvcDsKICsgIENPUkVfQUREUiB2YWx1ZTsKICAKLSAgIGlmICghaXNfZHlu YW1pY190eXBlIChyZWFsX3R5cGUpKQorICAgaWYgKCFpc19keW5hbWljX3R5cGVfaW50ZXJuYWwg KHJlYWxfdHlwZSwgdG9wX2xldmVsKSkKICAgICAgcmV0dXJuIHR5cGU7Ci1AQCAtMTg1MywxMSAr MTkzNywxMiBAQCByZXNvbHZlX2R5bmFtaWNfdHlwZSAoc3RydWN0IHR5cGUgKnR5cGUsIENPUkVf QUREUiBhZGRyKQorQEAgLTE4NzEsMTEgKzE5NTQsMTIgQEAgcmVzb2x2ZV9keW5hbWljX3R5cGVf aW50ZXJuYWwgKHN0cnVjdCB0eXBlICp0eXBlLCBDT1JFX0FERFIgYWRkciwKICAJfQogIAogICAg ICAgIGNhc2UgVFlQRV9DT0RFX0FSUkFZOgpAQCAtMTE1Nyw3ICsxMTM1LDcgQEAgaW5kZXggZDBj MDAyZi4uM2Y1MmQ2MSAxMDA2NDQKICAJYnJlYWs7CiAgCiAgICAgIGNhc2UgVFlQRV9DT0RFX1VO SU9OOgotQEAgLTE4NjksNiArMTk1NCwyNSBAQCByZXNvbHZlX2R5bmFtaWNfdHlwZSAoc3RydWN0 IHR5cGUgKnR5cGUsIENPUkVfQUREUiBhZGRyKQorQEAgLTE4ODcsNiArMTk3MSwyNSBAQCByZXNv bHZlX2R5bmFtaWNfdHlwZV9pbnRlcm5hbCAoc3RydWN0IHR5cGUgKnR5cGUsIENPUkVfQUREUiBh ZGRyLAogICAgICAgIGJyZWFrOwogICAgICB9CiAgCkBAIC0xMTgzLDcgKzExNjEsNyBAQCBpbmRl eCBkMGMwMDJmLi4zZjUyZDYxIDEwMDY0NAogICAgcmV0dXJuIHJlc29sdmVkX3R5cGU7CiAgfQog IAotQEAgLTQwNzgsNiArNDE4MiwyNyBAQCBjb3B5X3R5cGVfcmVjdXJzaXZlIChzdHJ1Y3Qgb2Jq ZmlsZSAqb2JqZmlsZSwKK0BAIC00MTA0LDYgKzQyMDcsMjcgQEAgY29weV90eXBlX3JlY3Vyc2l2 ZSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCiAgICAgICAgKlRZUEVfUkFOR0VfREFUQSAobmV3 X3R5cGUpID0gKlRZUEVfUkFOR0VfREFUQSAodHlwZSk7CiAgICAgIH0KICAKQEAgLTEyMTEsNyAr MTE4OSw3IEBAIGluZGV4IGQwYzAwMmYuLjNmNTJkNjEgMTAwNjQ0CiAgICAvKiBDb3B5IHBvaW50 ZXJzIHRvIG90aGVyIHR5cGVzLiAgKi8KICAgIGlmIChUWVBFX1RBUkdFVF9UWVBFICh0eXBlKSkK ICAgICAgVFlQRV9UQVJHRVRfVFlQRSAobmV3X3R5cGUpID0gCi1AQCAtNDEyNCw2ICs0MjQ5LDQ0 IEBAIGNvcHlfdHlwZSAoY29uc3Qgc3RydWN0IHR5cGUgKnR5cGUpCitAQCAtNDE1MCw2ICs0Mjc0 LDQ0IEBAIGNvcHlfdHlwZSAoY29uc3Qgc3RydWN0IHR5cGUgKnR5cGUpCiAgICBtZW1jcHkgKFRZ UEVfTUFJTl9UWVBFIChuZXdfdHlwZSksIFRZUEVfTUFJTl9UWVBFICh0eXBlKSwKICAJICBzaXpl b2YgKHN0cnVjdCBtYWluX3R5cGUpKTsKICAKQEAgLTEyNTcsMTAgKzEyMzUsMTAgQEAgaW5kZXgg ZDBjMDAyZi4uM2Y1MmQ2MSAxMDA2NDQKICB9CiAgDAogZGlmZiAtLWdpdCBhL2dkYi9nZGJ0eXBl cy5oIGIvZ2RiL2dkYnR5cGVzLmgKLWluZGV4IGJiNjM1MmQuLjU4MThmNzkgMTAwNjQ0CitpbmRl eCA1MDA4ZWY0Li40MzZlZGY4IDEwMDY0NAogLS0tIGEvZ2RiL2dkYnR5cGVzLmgKICsrKyBiL2dk Yi9nZGJ0eXBlcy5oCi1AQCAtNjcwLDYgKzY3MCwxMCBAQCBzdHJ1Y3QgbWFpbl90eXBlCitAQCAt NjY5LDYgKzY2OSwxMCBAQCBzdHJ1Y3QgbWFpbl90eXBlCiAgCiAgICAgICAgc3RydWN0IGR5bmFt aWNfcHJvcCBoaWdoOwogIApAQCAtMTI3MSw3ICsxMjQ5LDcgQEAgaW5kZXggYmI2MzUyZC4uNTgx OGY3OSAxMDA2NDQKICAgICAgICAvKiBUcnVlIGlmIEhJR0ggcmFuZ2UgYm91bmQgY29udGFpbnMg dGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUKICAJIHN1YnJhbmdlLiBUaGlzIGFmZmVjdHMg aG93IHRoZSBmaW5hbCBoaWdodCBib3VuZCBpcyBjb21wdXRlZC4gICovCiAgCi1AQCAtNzI1LDYg KzcyOSwyMyBAQCBzdHJ1Y3QgbWFpbl90eXBlCitAQCAtNzI0LDYgKzcyOCwyMyBAQCBzdHJ1Y3Qg bWFpbl90eXBlCiAgCiAgICAgIHN0cnVjdCBmdW5jX3R5cGUgKmZ1bmNfc3R1ZmY7CiAgICB9IHR5 cGVfc3BlY2lmaWM7CkBAIC0xMjk1LDcgKzEyNzMsNyBAQCBpbmRleCBiYjYzNTJkLi41ODE4Zjc5 IDEwMDY0NAogIH07CiAgCiAgLyogKiBBIGBgc3RydWN0IHR5cGUnJyBkZXNjcmliZXMgYSBwYXJ0 aWN1bGFyIGluc3RhbmNlIG9mIGEgdHlwZSwgd2l0aAotQEAgLTEyMDMsNiArMTIyNCwzOSBAQCBl eHRlcm4gdm9pZCBhbGxvY2F0ZV9nbmF0X2F1eF90eXBlIChzdHJ1Y3QgdHlwZSAqKTsKK0BAIC0x MjAyLDYgKzEyMjMsMzkgQEAgZXh0ZXJuIHZvaWQgYWxsb2NhdGVfZ25hdF9hdXhfdHlwZSAoc3Ry dWN0IHR5cGUgKik7CiAgICBUWVBFX1JBTkdFX0RBVEEocmFuZ2VfdHlwZSktPmhpZ2gua2luZAog ICNkZWZpbmUgVFlQRV9MT1dfQk9VTkRfS0lORChyYW5nZV90eXBlKSBcCiAgICBUWVBFX1JBTkdF X0RBVEEocmFuZ2VfdHlwZSktPmxvdy5raW5kCkBAIC0xMzM1LDcgKzEzMTMsNyBAQCBpbmRleCBi YjYzNTJkLi41ODE4Zjc5IDEwMDY0NAogIAogIC8qIE1vdG8tc3BlY2lmaWMgc3R1ZmYgZm9yIEZP UlRSQU4gYXJyYXlzLiAgKi8KICAKLUBAIC0xMjEwLDYgKzEyNjQsOSBAQCBleHRlcm4gdm9pZCBh bGxvY2F0ZV9nbmF0X2F1eF90eXBlIChzdHJ1Y3QgdHlwZSAqKTsKK0BAIC0xMjA5LDYgKzEyNjMs OSBAQCBleHRlcm4gdm9pZCBhbGxvY2F0ZV9nbmF0X2F1eF90eXBlIChzdHJ1Y3QgdHlwZSAqKTsK ICAgICBUWVBFX0hJR0hfQk9VTkRfVU5ERUZJTkVEKFRZUEVfSU5ERVhfVFlQRShhcnJheXR5cGUp KQogICNkZWZpbmUgVFlQRV9BUlJBWV9MT1dFUl9CT1VORF9JU19VTkRFRklORUQoYXJyYXl0eXBl KSBcCiAgICAgVFlQRV9MT1dfQk9VTkRfVU5ERUZJTkVEKFRZUEVfSU5ERVhfVFlQRShhcnJheXR5 cGUpKQpAQCAtMTM0NSw3ICsxMzIzLDcgQEAgaW5kZXggYmI2MzUyZC4uNTgxOGY3OSAxMDA2NDQK ICAKICAjZGVmaW5lIFRZUEVfQVJSQVlfVVBQRVJfQk9VTkRfVkFMVUUoYXJyYXl0eXBlKSBcCiAg ICAgKFRZUEVfSElHSF9CT1VORChUWVBFX0lOREVYX1RZUEUoKGFycmF5dHlwZSkpKSkKLUBAIC0x Njc4LDYgKzE3MzUsNyBAQCBleHRlcm4gc3RydWN0IHR5cGUgKmNyZWF0ZV9hcnJheV90eXBlX3dp dGhfc3RyaWRlCitAQCAtMTY3Nyw2ICsxNzM0LDcgQEAgZXh0ZXJuIHN0cnVjdCB0eXBlICpjcmVh dGVfYXJyYXlfdHlwZV93aXRoX3N0cmlkZQogIAogIGV4dGVybiBzdHJ1Y3QgdHlwZSAqY3JlYXRl X3JhbmdlX3R5cGUgKHN0cnVjdCB0eXBlICosIHN0cnVjdCB0eXBlICosCiAgCQkJCSAgICAgICBj b25zdCBzdHJ1Y3QgZHluYW1pY19wcm9wICosCkBAIC0yMDMwLDEwICsyMDA4LDEwIEBAIGluZGV4 IDAwMDAwMDAuLjYwNTNjMTcKICtnZGJfdGVzdCAicHJpbnQgc2l6ZW9mKHB2bGEpIiAiID0gNDAw MCIgInByaW50IHNpemVvZiBhc3NvY2lhdGVkIHB2bGEiCiBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaWRlLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vdmxhLXN0cmlkZS5leHAKIG5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi5l NzkxMTE1CitpbmRleCAwMDAwMDAwLi4zNWY1ODVkCiAtLS0gL2Rldi9udWxsCiArKysgYi9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpZGUuZXhwCi1AQCAtMCwwICsxLDUxIEBACitA QCAtMCwwICsxLDQ0IEBACiArIyBDb3B5cmlnaHQgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4KICsKICsjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CkBAIC0yMDYxLDEzICsyMDM5LDYgQEAgaW5kZXgg MDAwMDAwMC4uZTc5MTExNQogKyAgICBjb250aW51ZQogK30KICsKLStnZGJfYnJlYWtwb2ludCBb Z2RiX2dldF9saW5lX251bWJlciAicmV2ZXJzZS1lbGVtZW50cyJdCi0rZ2RiX2NvbnRpbnVlX3Rv X2JyZWFrcG9pbnQgInJldmVyc2UtZWxlbWVudHMiCi0rZ2RiX3Rlc3QgInByaW50IHB2bGEiICIg PSBcXFwoMTAsIDksIDgsIDcsIDYsIDUsIDQsIDMsIDIsIDFcXFwpIiBcCi0rICAicHJpbnQgcmV2 ZXJzZS1lbGVtZW50cyIKLStnZGJfdGVzdCAicHJpbnQgcHZsYSgxKSIgIiA9IDEwIiAicHJpbnQg Zmlyc3QgcmV2ZXJzZS1lbGVtZW50IgotK2dkYl90ZXN0ICJwcmludCBwdmxhKDEwKSIgIiA9IDEi ICJwcmludCBsYXN0IHJldmVyc2UtZWxlbWVudCIKLSsKICtnZGJfYnJlYWtwb2ludCBbZ2RiX2dl dF9saW5lX251bWJlciAicmUtcmV2ZXJzZS1lbGVtZW50cyJdCiArZ2RiX2NvbnRpbnVlX3RvX2Jy ZWFrcG9pbnQgInJlLXJldmVyc2UtZWxlbWVudHMiCiArZ2RiX3Rlc3QgInByaW50IHB2bGEiICIg PSBcXFwoMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwgMTBcXFwpIiBcCkBAIC0yMDg3LDcgKzIw NTgsNyBAQCBpbmRleCAwMDAwMDAwLi5lNzkxMTE1CiArZ2RiX3Rlc3QgInByaW50IHB2bGEoMSki ICIgPSA1IiAicHJpbnQgb25lIHNpbmdsZS1lbGVtZW50IgogZGlmZiAtLWdpdCBhL2dkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmlkZS5mOTAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL3ZsYS1zdHJpZGUuZjkwCiBuZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4u MWY4Y2M1NQoraW5kZXggMDAwMDAwMC4uNmFhNGYyYgogLS0tIC9kZXYvbnVsbAogKysrIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaWRlLmY5MAogQEAgLTAsMCArMSwzMCBAQApA QCAtMjExNSw3ICsyMDg2LDcgQEAgaW5kZXggMDAwMDAwMC4uMWY4Y2M1NQogKyAgdmxhID0gKC8g KEksIEkgPSAxLDEwKSAvKQogKwogKyAgcHZsYSA9PiB2bGEoMTA6MTotMSkKLSsgIHB2bGEgPT4g cHZsYSgxMDoxOi0xKSAhIHJldmVyc2UtZWxlbWVudHMKKysgIHB2bGEgPT4gcHZsYSgxMDoxOi0x KQogKyAgcHZsYSA9PiB2bGEoMToxMDoyKSAgICEgcmUtcmV2ZXJzZS1lbGVtZW50cwogKyAgcHZs YSA9PiB2bGEoNTo0Oi0yKSAgICEgb2RkLWVsZW1lbnRzCiArCkBAIC0zMTU3LDcgKzMxMjgsNyBA QCBpbmRleCA2Njk4MjQ3Li43YTQxNWNmIDEwMDY0NAogKwogICNlbmRpZgogZGlmZiAtLWdpdCBh L2dkYi92YWx1ZS5jIGIvZ2RiL3ZhbHVlLmMKLWluZGV4IDU1NzA1NmYuLjRlOTFhNDMgMTAwNjQ0 CitpbmRleCAyOWFiZTVmLi41ZWZlYTg5IDEwMDY0NAogLS0tIGEvZ2RiL3ZhbHVlLmMKICsrKyBi L2dkYi92YWx1ZS5jCiBAQCAtNDMsNiArNDMsNyBAQApAQCAtMzE2OCw3ICszMTM5LDcgQEAgaW5k ZXggNTU3MDU2Zi4uNGU5MWE0MyAxMDA2NDQKICAKICAvKiBQcm90b3R5cGVzIGZvciBleHBvcnRl ZCBmdW5jdGlvbnMuICAqLwogIAotQEAgLTE2NDYsNiArMTY0NywyNSBAQCBzZXRfdmFsdWVfY29t cG9uZW50X2xvY2F0aW9uIChzdHJ1Y3QgdmFsdWUgKmNvbXBvbmVudCwKK0BAIC0xNjI3LDYgKzE2 MjgsMjUgQEAgc2V0X3ZhbHVlX2NvbXBvbmVudF9sb2NhdGlvbiAoc3RydWN0IHZhbHVlICpjb21w b25lbnQsCiAgICAgICAgaWYgKGZ1bmNzLT5jb3B5X2Nsb3N1cmUpCiAgICAgICAgICBjb21wb25l bnQtPmxvY2F0aW9uLmNvbXB1dGVkLmNsb3N1cmUgPSBmdW5jcy0+Y29weV9jbG9zdXJlICh3aG9s ZSk7CiAgICAgIH0KQEAgLTMxOTQsNyArMzE2NSw3IEBAIGluZGV4IDU1NzA1NmYuLjRlOTFhNDMg MTAwNjQ0CiAgfQogIAogIAwKLUBAIC0yOTUwLDEzICsyOTcwLDIyIEBAIHZhbHVlX3ByaW1pdGl2 ZV9maWVsZCAoc3RydWN0IHZhbHVlICphcmcxLCBpbnQgb2Zmc2V0LAorQEAgLTI5MzEsMTMgKzI5 NTEsMjIgQEAgdmFsdWVfcHJpbWl0aXZlX2ZpZWxkIChzdHJ1Y3QgdmFsdWUgKmFyZzEsIGludCBv ZmZzZXQsCiAgCXYgPSBhbGxvY2F0ZV92YWx1ZV9sYXp5ICh0eXBlKTsKICAgICAgICBlbHNlCiAg CXsKQEAgLTMyMjMsNyArMzE5NCw3IEBAIGluZGV4IDU1NzA1NmYuLjRlOTFhNDMgMTAwNjQ0CiAg ICAgIH0KICAgIHNldF92YWx1ZV9jb21wb25lbnRfbG9jYXRpb24gKHYsIGFyZzEpOwogICAgVkFM VUVfUkVHTlVNICh2KSA9IFZBTFVFX1JFR05VTSAoYXJnMSk7Ci1AQCAtMzUzOSw3ICszNTY4LDgg QEAgcmVhZGp1c3RfaW5kaXJlY3RfdmFsdWVfdHlwZSAoc3RydWN0IHZhbHVlICp2YWx1ZSwgc3Ry dWN0IHR5cGUgKmVuY190eXBlLAorQEAgLTM1MjAsNyArMzU0OSw4IEBAIHJlYWRqdXN0X2luZGly ZWN0X3ZhbHVlX3R5cGUgKHN0cnVjdCB2YWx1ZSAqdmFsdWUsIHN0cnVjdCB0eXBlICplbmNfdHlw ZSwKICAJCQkgICAgICBzdHJ1Y3QgdmFsdWUgKm9yaWdpbmFsX3ZhbHVlKQogIHsKICAgIC8qIFJl LWFkanVzdCB0eXBlLiAgKi8KQEAgLTMyMzMsNyArMzIwNCw3IEBAIGluZGV4IDU1NzA1NmYuLjRl OTFhNDMgMTAwNjQ0CiAgCiAgICAvKiBBZGQgZW1iZWRkaW5nIGluZm8uICAqLwogICAgc2V0X3Zh bHVlX2VuY2xvc2luZ190eXBlICh2YWx1ZSwgZW5jX3R5cGUpOwotQEAgLTM1NTYsNiArMzU4Niwx MiBAQCBjb2VyY2VfcmVmIChzdHJ1Y3QgdmFsdWUgKmFyZykKK0BAIC0zNTM3LDYgKzM1NjcsMTIg QEAgY29lcmNlX3JlZiAoc3RydWN0IHZhbHVlICphcmcpCiAgICBzdHJ1Y3QgdmFsdWUgKnJldHZh bDsKICAgIHN0cnVjdCB0eXBlICplbmNfdHlwZTsKICAKQEAgLTMyNDYsNyArMzIxNyw3IEBAIGlu ZGV4IDU1NzA1NmYuLjRlOTFhNDMgMTAwNjQ0CiAgICByZXR2YWwgPSBjb2VyY2VfcmVmX2lmX2Nv bXB1dGVkIChhcmcpOwogICAgaWYgKHJldHZhbCkKICAgICAgcmV0dXJuIHJldHZhbDsKLUBAIC0z Njk5LDggKzM3MzUsMTQgQEAgdmFsdWVfZmV0Y2hfbGF6eSAoc3RydWN0IHZhbHVlICp2YWwpCitA QCAtMzY4MCw4ICszNzE2LDE0IEBAIHZhbHVlX2ZldGNoX2xhenkgKHN0cnVjdCB2YWx1ZSAqdmFs KQogICAgICB9CiAgICBlbHNlIGlmIChWQUxVRV9MVkFMICh2YWwpID09IGx2YWxfbWVtb3J5KQog ICAgICB7CgpkaWZmIC0tZ2l0IGEvZ2RiLnNwZWMgYi9nZGIuc3BlYwppbmRleCA3OGU2YjkyLi43 NWI5NDE3IDEwMDY0NAotLS0gYS9nZGIuc3BlYworKysgYi9nZGIuc3BlYwpAQCAtMTgsMTQgKzE4 LDE0IEBAIFN1bW1hcnk6IEEgR05VIHNvdXJjZS1sZXZlbCBkZWJ1Z2dlciBmb3IgQywgQysrLCBG b3J0cmFuLCBHbyBhbmQgb3RoZXIgbGFuZ3VhZ2VzCiBOYW1lOiAlez9zY2xfcHJlZml4fWdkYgog CiAjIEZyZWV6ZSBpdCB3aGVuIEdEQiBnZXRzIGJyYW5jaGVkCi0lZ2xvYmFsIHNuYXBzcmMgICAg MjAxNDA3MTEKKyVnbG9iYWwgc25hcHNyYyAgICAyMDE0MDcyMQogIyBTZWUgdGltZXN0YW1wIG9m IHNvdXJjZSBnbnVsaWIgaW5zdGFsbGVkIGludG8gZ2RiL2dudWxpYi8gLgogJWdsb2JhbCBzbmFw Z251bGliIDIwMTIxMjEzCi1WZXJzaW9uOiA3LjcuOTAuJXtzbmFwc3JjfQorVmVyc2lvbjogNy43 LjkxLiV7c25hcHNyY30KIAogIyBUaGUgcmVsZWFzZSBhbHdheXMgY29udGFpbnMgYSBsZWFkaW5n IHJlc2VydmVkIG51bWJlciwgc3RhcnQgaXQgYXQgMS4KICMgYHVwc3RyZWFtJyBpcyBub3QgYSBw YXJ0IG9mIGBuYW1lJyB0byBzdGF5IGZ1bGx5IHJwbSBkZXBlbmRlbmNpZXMgY29tcGF0aWJsZSBm b3IgdGhlIHRlc3RpbmcuCi1SZWxlYXNlOiAxMSV7P2Rpc3R9CitSZWxlYXNlOiAxMiV7P2Rpc3R9 CiAKIExpY2Vuc2U6IEdQTHYzKyBhbmQgR1BMdjMrIHdpdGggZXhjZXB0aW9ucyBhbmQgR1BMdjIr IGFuZCBHUEx2Misgd2l0aCBleGNlcHRpb25zIGFuZCBHUEwrIGFuZCBMR1BMdjIrIGFuZCBCU0Qg YW5kIFB1YmxpYyBEb21haW4gYW5kIEdGREwKIEdyb3VwOiBEZXZlbG9wbWVudC9EZWJ1Z2dlcnMK QEAgLTUxNiwxMiArNTE2LDE3IEBAIFBhdGNoOTE0OiBnZGItcmVhZGxpbmUtNi4zLjUucGF0Y2gK IFBhdGNoOTE4OiBnZGItYnRyb2J1c3QucGF0Y2gKIAogIyBGaXggY3Jhc2ggb24gb3B0aW1pemVk LW91dCBlbnRyeSBkYXRhIHZhbHVlcyAoQlogMTExMTkxMCkuCi1QYXRjaDkxOTogZ2RiLWVudHJ5 ZGF0YW9wdGltaXplZG91dC5wYXRjaAorUGF0Y2g5MjI6IGdkYi1lbnRyeXZhbC1jcmFzaC0xb2Yz LnBhdGNoCitQYXRjaDkyMzogZ2RiLWVudHJ5dmFsLWNyYXNoLTJvZjMucGF0Y2gKK1BhdGNoOTE5 OiBnZGItZW50cnl2YWwtY3Jhc2gtM29mMy5wYXRjaAogCiAjIFB5dGhvbiBjb21wbGV0aW9uIHcv b3ZlcnJpZGVuIGNvbXBsZXRlciAoU2VyZ2lvIER1cmlnYW4gSnVuaW9yLCBCWiAxMDc1MTk5KS4K IFBhdGNoOTIwOiBnZGItcHl0aG9uLWNvbXBsZXRlci0xb2YyLnBhdGNoCiBQYXRjaDkyMTogZ2Ri LXB5dGhvbi1jb21wbGV0ZXItMm9mMi5wYXRjaAogCisjIFt0ZXN0c3VpdGVdIEZpeCBwYWdpbmF0 ZS0qLmV4cCByYWNlIGZvciAicmVhZDEiLgorUGF0Y2g5MjQ6IGdkYi10ZXN0c3VpdGUtcGFnaW5h dGlvbi1yZWFkMS5wYXRjaAorCiAlaWYgMCV7IT9yaGVsOjF9IHx8IDAlez9yaGVsfSA+IDYKICMg UkxfU1RBVEVfRkVET1JBX0dEQiB3b3VsZCBub3QgYmUgZm91bmQgZm9yOgogIyBQYXRjaDY0Mjog Z2RiLXJlYWRsaW5lNjItYXNrLW1vcmUtcmgucGF0Y2gKQEAgLTc5OCw5ICs4MDMsMTIgQEAgZmlu ZCAtbmFtZSAiKi5pbmZvKiJ8eGFyZ3Mgcm0gLWYKICVwYXRjaDg4NyAtcDEKICVwYXRjaDkxNCAt cDEKICVwYXRjaDkxOCAtcDEKLSVwYXRjaDkxOSAtcDEKICVwYXRjaDkyMCAtcDEKICVwYXRjaDky MSAtcDEKKyVwYXRjaDkyMiAtcDEKKyVwYXRjaDkyMyAtcDEKKyVwYXRjaDkxOSAtcDEKKyVwYXRj aDkyNCAtcDEKIAogJXBhdGNoODQ4IC1wMQogJWlmIDAleyE/ZWw2OjF9CkBAIC0xMjkxLDYgKzEy OTksMTIgQEAgdGhlbgogZmkKIAogJWNoYW5nZWxvZworKiBUdWUgSnVsIDIyIDIwMTQgSmFuIEty YXRvY2h2aWwgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+IC0gNy43LjkxLjIwMTQwNzIxLTEy LmZjMjEKKy0gUmViYXNlIHRvIEZTRiBHREIgNy43LjkxLjIwMTQwNzIxIChwcmUtNy44IHNuYXBz aG90KS4KKy0gUmViYXNlIHRoZSBJbnRlbCBWTEEgcGF0Y2hzZXQuCistIE5ldyBmaXggb2YgdGhl IG9wdGltaXplZC1vdXQgZW50cnkgZGF0YSB2YWx1ZXMgY3Jhc2ggKEJaIDExMTE5MTApLgorLSBb dGVzdHN1aXRlXSBGaXggcGFnaW5hdGUtKi5leHAgcmFjZSBmb3IgInJlYWQxIi4KKwogKiBGcmkg SnVsIDExIDIwMTQgSmFuIEtyYXRvY2h2aWwgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+IC0g Ny43LjkwLjIwMTQwNzExLTExLmZjMjEKIC0gRml4IHJlZ3Jlc3Npb24jMiBvZiB0aGUgb3B0aW1p emVkLW91dCBlbnRyeSBkYXRhIHZhbHVlcyBmaXggKG9mIEJaIDExMTE5MTApLgogLSBSZWJhc2Ug dG8gRlNGIEdEQiA3LjcuOTAuMjAxNDA3MTEgKHByZS03Ljggc25hcHNob3QpLgoKZGlmZiAtLWdp dCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4IGJiOTQxYzEuLjAyNGM4NDUgMTAwNjQ0Ci0tLSBh L3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAtMSwyICsxLDIgQEAKIDQ5ODEzMDdhYTk2MTliYmVj NWI3MzI2MWU0ZTQxYzhkICBnZGItbGlic3RkYysrLXYzLXB5dGhvbi1yMTU1OTc4LnRhci5iejIK LTY5MTJhM2EyNDNhNjZhNWZhMDRkYzM4YWFkM2U4ZTgwICBnZGItNy43LjkwLjIwMTQwNzExLnRh ci5iejIKK2U0ODJhODQwZTBiZjhlOTI4MjY4YzcyY2IyMjQxNjQ2ICBnZGItNy43LjkxLjIwMTQw NzIxLnRhci5iejIK