From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1IbAcv-0001L0-KE for qemu-devel@nongnu.org; Fri, 28 Sep 2007 03:51:09 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1IbAcv-0001Jk-58 for qemu-devel@nongnu.org; Fri, 28 Sep 2007 03:51:09 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IbAcu-0001JW-Ph for qemu-devel@nongnu.org; Fri, 28 Sep 2007 03:51:08 -0400 Received: from ug-out-1314.google.com ([66.249.92.168]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1IbAct-0001bv-2l for qemu-devel@nongnu.org; Fri, 28 Sep 2007 03:51:08 -0400 Received: by ug-out-1314.google.com with SMTP id m2so1461172uge for ; Fri, 28 Sep 2007 00:51:04 -0700 (PDT) Message-ID: Date: Fri, 28 Sep 2007 16:51:04 +0900 From: "Magnus Damm" MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_4102_30098519.1190965864238" Subject: [Qemu-devel] sh4: system emulator patches Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org ------=_Part_4102_30098519.1190965864238 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi everyone, Here comes a batch of sh4 system emulator patches. Main features are rewrites of TMU and SCI/SCIF device emulation and other minor fixes to get some basic parts of the linux kernel booting up. The curious user can try the attached kernel config to build a sh4 kernel (2.6.23-rc/2.6.24-pre) which at least starts booting inside of qemu. Use the following options to get the serial ports right: $ qemu-system-sh4 -kernel ~/kernel/git/sh-2.6/arch/sh/boot/zImage -M r2d -nographic -monitor null -serial null -serial stdio The kernel currently hangs on waiting for timer interrupts. So I'm currently working on fixing up proper interrupt support. Patches in this batch: sh: add R2D-PLUS support sh: add stand alone TMU emulation code sh: add stand alone SCI/SCIF emulation code sh: add INTC controller prototype sh: add FRQCR read support sh: fix rte opcode sh: add sh4-softmmu and sh4-linux-user to --target-list Please apply! / magnus ------=_Part_4102_30098519.1190965864238 Content-Type: application/octet-stream; name="qemu-cvs-20070928-sh-r2d.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="qemu-cvs-20070928-sh-r2d.patch"; filename="qemu-cvs-20070928-sh-r2d.patch"; filename="qemu-cvs-20070928-sh-r2d.patch"; filename="qemu-cvs-20070928-sh-r2d.patch"; filename="qemu-cvs-20070928-sh-r2d.patch"; filename="qemu-cvs-20070928-sh-r2d.patch" X-Attachment-Id: f_f74dyl24 c2g6IGFkZCBSMkQtUExVUyBzdXBwb3J0CgpUaGlzIHBhdGNoIGFkZHMgYmFzaWMgZW11bGF0aW9u IG9mIFIyRC1QTFVTIHRvIHRoZSBzaDQtc29mdG1tdSB0YXJnZXQuCk9ubHkgYSBmZXcgb24tY2hp cCBzaDc3NTAgZGV2aWNlcyBwbHVzIG1lbW9yeSBhcmUgc3VwcG9ydGVkIGZvciBub3cuCkluIHRo ZSBmdXR1cmUgY29kZSBmb3IgRlBHQSByZWdpc3RlcnMgYW5kIFBDSSBkZXZpY2VzIHNob3VsZCBi ZSBhZGRlZC4KClNpZ25lZC1vZmYtYnk6IE1hZ251cyBEYW1tIDxkYW1tQGlnZWwuY28uanA+Ci0t LQoKIE1ha2VmaWxlLnRhcmdldCB8ICAgIDIgLQogaHcvcjJkLmMgICAgICAgIHwgICA2NCArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiB2bC5j ICAgICAgICAgICAgfCAgICAxIAogdmwuaCAgICAgICAgICAgIHwgICAgMyArKwogNCBmaWxlcyBj aGFuZ2VkLCA2OSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgotLS0gMDAwMS9NYWtlZmls ZS50YXJnZXQKKysrIHdvcmsvTWFrZWZpbGUudGFyZ2V0CTIwMDctMDktMjggMTQ6Mjk6MDEuMDAw MDAwMDAwICswOTAwCkBAIC00NzYsNyArNDc2LDcgQEAgVkxfT0JKUys9IG9tYXAubyBvbWFwX2xj ZGMubyBvbWFwMV9jbGsubwogQ1BQRkxBR1MgKz0gLURIQVNfQVVESU8KIGVuZGlmCiBpZmVxICgk KFRBUkdFVF9CQVNFX0FSQ0gpLCBzaDQpCi1WTF9PQkpTKz0gc2hpeC5vIHNoNzc1MC5vIHNoNzc1 MF9yZWduYW1lcy5vIHRjNTgxMjgubworVkxfT0JKUys9IHNoaXgubyByMmQubyBzaDc3NTAubyBz aDc3NTBfcmVnbmFtZXMubyB0YzU4MTI4Lm8KIGVuZGlmCiBpZmVxICgkKFRBUkdFVF9CQVNFX0FS Q0gpLCBtNjhrKQogVkxfT0JKUys9IGFuNTIwNi5vIG1jZjUyMDYubyBwdGltZXIubyBtY2ZfdWFy dC5vIG1jZl9pbnRjLm8gbWNmNTIwOC5vIG1jZl9mZWMubwotLS0gL2Rldi9udWxsCisrKyB3b3Jr L2h3L3IyZC5jCTIwMDctMDktMjggMTQ6Mjk6NTkuMDAwMDAwMDAwICswOTAwCkBAIC0wLDAgKzEs NjQgQEAKKy8qCisgKiBSZW5lc2FzIFNINzc1MVIgUjJELVBMVVMgZW11bGF0aW9uCisgKiAKKyAq IENvcHlyaWdodCAoYykgMjAwNyBNYWdudXMgRGFtbQorICogCisgKiBQZXJtaXNzaW9uIGlzIGhl cmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBj b3B5CisgKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmls ZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAorICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQg cmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cworICog dG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNl bnNlLCBhbmQvb3Igc2VsbAorICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1p dCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCisgKiBmdXJuaXNoZWQgdG8gZG8gc28s IHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBj b3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1 ZGVkIGluCisgKiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0 d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBX QVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJV VCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBO TyBFVkVOVCBTSEFMTAorICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElB QkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKKyAqIExJQUJJTElUWSwgV0hFVEhF UiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZS T00sCisgKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUg VVNFIE9SIE9USEVSIERFQUxJTkdTIElOCisgKiBUSEUgU09GVFdBUkUuCisgKi8KKworI2luY2x1 ZGUgInZsLmgiCisKKyNkZWZpbmUgU0RSQU1fQkFTRSAweDBjMDAwMDAwIC8qIFBoeXNpY2FsIGxv Y2F0aW9uIG9mIFNEUkFNOiBBcmVhIDMgKi8KKyNkZWZpbmUgU0RSQU1fU0laRSAweDA0MDAwMDAw CisKK3ZvaWQgcjJkX2luaXQoaW50IHJhbV9zaXplLCBpbnQgdmdhX3JhbV9zaXplLCBpbnQgYm9v dF9kZXZpY2UsCisJICAgICAgRGlzcGxheVN0YXRlICogZHMsIGNvbnN0IGNoYXIgKipmZF9maWxl bmFtZSwgaW50IHNuYXBzaG90LAorCSAgICAgIGNvbnN0IGNoYXIgKmtlcm5lbF9maWxlbmFtZSwg Y29uc3QgY2hhciAqa2VybmVsX2NtZGxpbmUsCisJICAgICAgY29uc3QgY2hhciAqaW5pdHJkX2Zp bGVuYW1lLCBjb25zdCBjaGFyICpjcHVfbW9kZWwpCit7CisgICAgaW50IHJldDsKKyAgICBDUFVT dGF0ZSAqZW52OworICAgIHN0cnVjdCBTSDc3NTBTdGF0ZSAqczsKKworICAgIGVudiA9IGNwdV9p bml0KCk7CisKKyAgICAvKiBBbGxvY2F0ZSBtZW1vcnkgc3BhY2UgKi8KKyAgICBjcHVfcmVnaXN0 ZXJfcGh5c2ljYWxfbWVtb3J5KFNEUkFNX0JBU0UsIFNEUkFNX1NJWkUsIDApOworICAgIC8qIFJl Z2lzdGVyIHBlcmlwaGVyYWxzICovCisgICAgcyA9IHNoNzc1MF9pbml0KGVudik7CisgICAgLyog VG9kbzogcmVnaXN0ZXIgb24gYm9hcmQgcmVnaXN0ZXJzICovCisgICAgeworICAgICAgaW50IGtl cm5lbF9zaXplOworCisgICAgICBrZXJuZWxfc2l6ZSA9IGxvYWRfaW1hZ2Uoa2VybmVsX2ZpbGVu YW1lLCBwaHlzX3JhbV9iYXNlKTsKKworICAgICAgaWYgKGtlcm5lbF9zaXplIDwgMCkgeworICAg ICAgICBmcHJpbnRmKHN0ZGVyciwgInFlbXU6IGNvdWxkIG5vdCBsb2FkIGtlcm5lbCAnJXMnXG4i LCBrZXJuZWxfZmlsZW5hbWUpOworICAgICAgICBleGl0KDEpOworICAgICAgfQorCisgICAgICBl bnYtPnBjID0gU0RSQU1fQkFTRSB8IDB4YTAwMDAwMDA7IC8qIFN0YXJ0IGZyb20gUDIgYXJlYSAq LworICAgIH0KK30KKworUUVNVU1hY2hpbmUgcjJkX21hY2hpbmUgPSB7CisgICAgInIyZCIsCisg ICAgInIyZC1wbHVzIGJvYXJkIiwKKyAgICByMmRfaW5pdAorfTsKLS0tIDAwMDEvdmwuYworKysg d29yay92bC5jCTIwMDctMDktMjggMTQ6Mjk6MDEuMDAwMDAwMDAwICswOTAwCkBAIC03MzgzLDYg KzczODMsNyBAQCB2b2lkIHJlZ2lzdGVyX21hY2hpbmVzKHZvaWQpCiAgICAgcWVtdV9yZWdpc3Rl cl9tYWNoaW5lKCZwYWxtdGVfbWFjaGluZSk7CiAjZWxpZiBkZWZpbmVkKFRBUkdFVF9TSDQpCiAg ICAgcWVtdV9yZWdpc3Rlcl9tYWNoaW5lKCZzaGl4X21hY2hpbmUpOworICAgIHFlbXVfcmVnaXN0 ZXJfbWFjaGluZSgmcjJkX21hY2hpbmUpOwogI2VsaWYgZGVmaW5lZChUQVJHRVRfQUxQSEEpCiAg ICAgLyogWFhYOiBUT0RPICovCiAjZWxpZiBkZWZpbmVkKFRBUkdFVF9NNjhLKQotLS0gMDAwMS92 bC5oCisrKyB3b3JrL3ZsLmgJMjAwNy0wOS0yOCAxNDoyOTowMS4wMDAwMDAwMDAgKzA5MDAKQEAg LTExOTgsNiArMTE5OCw5IEBAIGV4dGVybiB2b2lkIGNwdV9taXBzX2lycWN0cmxfaW5pdCAodm9p ZCkKIC8qIHNoaXguYyAqLwogZXh0ZXJuIFFFTVVNYWNoaW5lIHNoaXhfbWFjaGluZTsKIAorLyog cjJkLmMgKi8KK2V4dGVybiBRRU1VTWFjaGluZSByMmRfbWFjaGluZTsKKwogI2lmZGVmIFRBUkdF VF9QUEMKIC8qIFBvd2VyUEMgaGFyZHdhcmUgZXhjZXB0aW9ucyBtYW5hZ2VtZW50IGhlbHBlcnMg Ki8KIHR5cGVkZWYgdm9pZCAoKmNsa19zZXR1cF9jYikodm9pZCAqb3BhcXVlLCB1aW50MzJfdCBm cmVxKTsK ------=_Part_4102_30098519.1190965864238 Content-Type: application/octet-stream; name="qemu-cvs-20070927c-sh_timer.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="qemu-cvs-20070927c-sh_timer.patch"; filename="qemu-cvs-20070927c-sh_timer.patch"; filename="qemu-cvs-20070927c-sh_timer.patch"; filename="qemu-cvs-20070927c-sh_timer.patch"; filename="qemu-cvs-20070927c-sh_timer.patch"; filename="qemu-cvs-20070927c-sh_timer.patch" X-Attachment-Id: f_f74dytss c2g6IGFkZCBzdGFuZCBhbG9uZSBUTVUgZW11bGF0aW9uIGNvZGUKClRoaXMgcGF0Y2ggcmVtb3Zl cyB0aGUgb2xkIHRpbWVyIGNvZGUgYW5kIGFkZHMgc2VwYXJhdGUgY29kZSBpbiBody9zaF90aW1l ci5jCnRoYXQgZW11bGF0ZXMgYSBUTVUgYmxvY2sgY29uc2lzdGluZyBvZiB0d28gb3IgdGhyZWUg dGltZXIgY2hhbm5lbHMuIE9ubHkKYmFzaWMgZnJlZSBydW5uaW5nIG1vZGUgaXMgc3VwcG9ydGVk IHlldCAtIGFuZCBubyBpbnRlcnJ1cHRzLiBUaGlzIG5ldyBjb2RlCmlzIGJhc2VkIG9uIHB0aW1l ci5jIHdoaWNoIG1hZGUgaXQgZWFzeSB0byBzdXBwb3J0IHRpbWVyIHZhbHVlIHJlYWQgb3V0LgoK U2lnbmVkLW9mZi1ieTogTWFnbnVzIERhbW0gPGRhbW1AaWdlbC5jby5qcD4KLS0tCgogTWFrZWZp bGUudGFyZ2V0ICAgICAgfCAgICAxIAogaHcvc2g3NzUwLmMgICAgICAgICAgfCAgMTAyIC0tLS0t LS0tLS0tLS0tLQogaHcvc2g3NzUwX3JlZ25hbWVzLmMgfCAgIDEyIC0KIGh3L3NoNzc1MF9yZWdz LmggICAgIHwgICA4OCAtLS0tLS0tLS0tLS0tCiBody9zaF90aW1lci5jICAgICAgICB8ICAzMjMg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHZsLmgg ICAgICAgICAgICAgICAgIHwgICAgNiAKIDYgZmlsZXMgY2hhbmdlZCwgMzM2IGluc2VydGlvbnMo KyksIDE5NiBkZWxldGlvbnMoLSkKCi0tLSAwMDAzL01ha2VmaWxlLnRhcmdldAorKysgd29yay9N YWtlZmlsZS50YXJnZXQJMjAwNy0wOS0yNyAwOToyMjo1Ny4wMDAwMDAwMDAgKzA5MDAKQEAgLTQ3 Nyw2ICs0NzcsNyBAQCBDUFBGTEFHUyArPSAtREhBU19BVURJTwogZW5kaWYKIGlmZXEgKCQoVEFS R0VUX0JBU0VfQVJDSCksIHNoNCkKIFZMX09CSlMrPSBzaGl4Lm8gcjJkLm8gc2g3NzUwLm8gc2g3 NzUwX3JlZ25hbWVzLm8gdGM1ODEyOC5vCitWTF9PQkpTKz0gc2hfdGltZXIubyBwdGltZXIubwog ZW5kaWYKIGlmZXEgKCQoVEFSR0VUX0JBU0VfQVJDSCksIG02OGspCiBWTF9PQkpTKz0gYW41MjA2 Lm8gbWNmNTIwNi5vIHB0aW1lci5vIG1jZl91YXJ0Lm8gbWNmX2ludGMubyBtY2Y1MjA4Lm8gbWNm X2ZlYy5vCi0tLSAwMDA1L2h3L3NoNzc1MC5jCisrKyB3b3JrL2h3L3NoNzc1MC5jCTIwMDctMDkt MjcgMDk6MjI6NTcuMDAwMDAwMDAwICswOTAwCkBAIC02NCwxMyArNjQsNiBAQCB0eXBlZGVmIHN0 cnVjdCBTSDc3NTBTdGF0ZSB7CiAgICAgdWludDhfdCBzY2JycjI7CiAgICAgZmlmbyBzZXJpYWwy X3JlY2VpdmVfZmlmbzsKICAgICBmaWZvIHNlcmlhbDJfdHJhbnNtaXRfZmlmbzsKLSAgICAvKiBU aW1lcnMgKi8KLSAgICB1aW50OF90IHRzdHI7Ci0gICAgLyogVGltZXIgMCAqLwotICAgIFFFTVVU aW1lciAqdGltZXIwOwotICAgIHVpbnQxNl90IHRjcjA7Ci0gICAgdWludDMyX3QgdGNvcjA7Ci0g ICAgdWludDMyX3QgdGNudDA7CiAgICAgLyogSU8gcG9ydHMgKi8KICAgICB1aW50MTZfdCBncGlv aWM7CiAgICAgdWludDMyX3QgcGN0cmE7CkBAIC04OCw4MyArODEsOCBAQCB0eXBlZGVmIHN0cnVj dCBTSDc3NTBTdGF0ZSB7CiAgICAgc2g3NzUwX2lvX2RldmljZSAqZGV2aWNlc1tOQl9ERVZJQ0VT XTsJLyogRXh0ZXJuYWwgcGVyaXBoZXJhbHMgKi8KICAgICAvKiBDYWNoZSAqLwogICAgIHVpbnQz Ml90IGNjcjsKLX0gU0g3NzUwU3RhdGU7Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gVGltZXJzCi0qKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqLwotCi0vKiBYWFhYWCBBdCB0aGlzIHRpbWUsIHRpbWVyMCB3b3JrcyBpbiB1bmRl cmZsb3cgb25seSBtb2RlLCB0aGF0IGlzCi0gICB0aGUgdmFsdWUgb2YgdGNudDAgaXMgcmVhZCBh dCBhbGFybSBjb21wdXRhdGlvbiB0aW1lIGFuZCBjYW5ub3QKLSAgIGJlIHJlYWQgYmFjayBieSB0 aGUgZ3Vlc3QgT1MgKi8KLQotc3RhdGljIHZvaWQgc3RhcnRfdGltZXIwKFNINzc1MFN0YXRlICog cykKLXsKLSAgICB1aW50NjRfdCBub3csIG5leHQsIHByZXNjYWxlcjsKLQotICAgIGlmICgocy0+ dGNyMCAmIDYpID09IDYpIHsKLQlmcHJpbnRmKHN0ZGVyciwgInJ0YyBjbG9jayBmb3IgdGltZXIg MCBub3Qgc3VwcG9ydGVkXG4iKTsKLQlhc3NlcnQoMCk7Ci0gICAgfQogCi0gICAgaWYgKChzLT50 Y3IwICYgNykgPT0gNSkgewotCWZwcmludGYoc3RkZXJyLCAidGltZXIgMCBjb25maWd1cmF0aW9u IG5vdCBzdXBwb3J0ZWRcbiIpOwotCWFzc2VydCgwKTsKLSAgICB9Ci0KLSAgICBpZiAoKHMtPnRj cjAgJiA0KSA9PSA0KQotCXByZXNjYWxlciA9IDEwMjQ7Ci0gICAgZWxzZQotCXByZXNjYWxlciA9 IDQgPDwgKHMtPnRjcjAgJiAzKTsKLQotICAgIG5vdyA9IHFlbXVfZ2V0X2Nsb2NrKHZtX2Nsb2Nr KTsKLSAgICAvKiBYWFhYWCAqLwotICAgIG5leHQgPQotCW5vdyArIG11bGRpdjY0KHByZXNjYWxl ciAqIHMtPnRjbnQwLCB0aWNrc19wZXJfc2VjLAotCQkgICAgICAgcy0+cGVyaXBoX2ZyZXEpOwot ICAgIGlmIChuZXh0ID09IG5vdykKLQluZXh0ID0gbm93ICsgMTsKLSAgICBmcHJpbnRmKHN0ZGVy ciwgIm5vdz0lMDE2IiBQUkl4NjQgIiwgbmV4dD0lMDE2IiBQUkl4NjQgIlxuIiwgbm93LCBuZXh0 KTsKLSAgICBmcHJpbnRmKHN0ZGVyciwgInRpbWVyIHdpbGwgdW5kZXJmbG93IGluICVmIHNlY29u ZHNcbiIsCi0JICAgIChmbG9hdCkgKG5leHQgLSBub3cpIC8gKGZsb2F0KSB0aWNrc19wZXJfc2Vj KTsKLQotICAgIHFlbXVfbW9kX3RpbWVyKHMtPnRpbWVyMCwgbmV4dCk7Ci19Ci0KLXN0YXRpYyB2 b2lkIHRpbWVyX3N0YXJ0X2NoYW5nZWQoU0g3NzUwU3RhdGUgKiBzKQotewotICAgIGlmIChzLT50 c3RyICYgU0g3NzUwX1RTVFJfU1RSMCkgewotCXN0YXJ0X3RpbWVyMChzKTsKLSAgICB9IGVsc2Ug ewotCWZwcmludGYoc3RkZXJyLCAidGltZXIgMCBpcyBzdG9wcGVkXG4iKTsKLQlxZW11X2RlbF90 aW1lcihzLT50aW1lcjApOwotICAgIH0KLX0KLQotc3RhdGljIHZvaWQgdGltZXIwX2NiKHZvaWQg Km9wYXF1ZSkKLXsKLSAgICBTSDc3NTBTdGF0ZSAqcyA9IG9wYXF1ZTsKLQotICAgIHMtPnRjbnQw ID0gKHVpbnQzMl90KSAwOwkvKiBYWFhYWCAqLwotICAgIGlmICgtLXMtPnRjbnQwID09ICh1aW50 MzJfdCkgLSAxKSB7Ci0JZnByaW50ZihzdGRlcnIsICJ0aW1lciAwIHVuZGVyZmxvd1xuIik7Ci0J cy0+dGNudDAgPSBzLT50Y29yMDsKLQlzLT50Y3IwIHw9IFNINzc1MF9UQ1JfVU5GOwotCWlmIChz LT50Y3IwICYgU0g3NzUwX1RDUl9VTklFKSB7Ci0JICAgIGZwcmludGYoc3RkZXJyLAotCQkgICAg ImludGVycnVwdCBnZW5lcmF0aW9uIGZvciB0aW1lciAwIG5vdCBzdXBwb3J0ZWRcbiIpOwotCSAg ICBhc3NlcnQoMCk7Ci0JfQotICAgIH0KLSAgICBzdGFydF90aW1lcjAocyk7Ci19Ci0KLXN0YXRp YyB2b2lkIGluaXRfdGltZXJzKFNINzc1MFN0YXRlICogcykKLXsKLSAgICBzLT50Y29yMCA9IDB4 ZmZmZmZmZmY7Ci0gICAgcy0+dGNudDAgPSAweGZmZmZmZmZmOwotICAgIHMtPnRpbWVyMCA9IHFl bXVfbmV3X3RpbWVyKHZtX2Nsb2NrLCAmdGltZXIwX2NiLCBzKTsKLX0KK30gU0g3NzUwU3RhdGU7 CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqCiAgRmlyc3Qgc2VyaWFsIHBvcnQKQEAgLTU4MSw4ICs0OTksNiBA QCBzdGF0aWMgdWludDMyX3Qgc2g3NzUwX21lbV9yZWFkdyh2b2lkICpvCiAJZnByaW50ZihzdGRl cnIsCiAJCSJSZWFkIGFjY2VzcyB0byByZWZyZXNoIGNvdW50IHJlZ2lzdGVyLCBpbmNyZW1lbnRp bmdcbiIpOwogCXJldHVybiBzLT5yZmNyKys7Ci0gICAgY2FzZSBTSDc3NTBfVENSMF9BNzoKLQly ZXR1cm4gcy0+dGNyMDsKICAgICBjYXNlIFNINzc1MF9TQ0xTUjJfQTc6CiAJLyogUmVhZCBhbmQg Y2xlYXIgb3ZlcmZsb3cgYml0ICovCiAJciA9IHMtPnNjbHNyMjsKQEAgLTY1MSwxMCArNTY3LDYg QEAgc3RhdGljIHZvaWQgc2g3NzUwX21lbV93cml0ZWIodm9pZCAqb3BhcQogICAgIGNhc2UgU0g3 NzUwX1NDQlJSMl9BNzoKIAlzLT5zY2JycjIgPSBtZW1fdmFsdWU7CiAJcmV0dXJuOwotICAgIGNh c2UgU0g3NzUwX1RTVFJfQTc6Ci0Jcy0+dHN0ciA9IG1lbV92YWx1ZTsKLQl0aW1lcl9zdGFydF9j aGFuZ2VkKHMpOwotCXJldHVybjsKICAgICBjYXNlIFNINzc1MF9TQ1NDUjFfQTc6CiAJcy0+c2Nz Y3IxID0gbWVtX3ZhbHVlOwogCXNjc2NyMV9jaGFuZ2VkKHMpOwpAQCAtNzIzLDkgKzYzNSw2IEBA IHN0YXRpYyB2b2lkIHNoNzc1MF9tZW1fd3JpdGV3KHZvaWQgKm9wYXEKICAgICBjYXNlIFNINzc1 MF9TQ1NNUjJfQTc6CiAJcy0+c2NzbXIyID0gbWVtX3ZhbHVlOwogCXJldHVybjsKLSAgICBjYXNl IFNINzc1MF9UQ1IwX0E3OgotCXMtPnRjcjAgPSBtZW1fdmFsdWU7Ci0JcmV0dXJuOwogICAgIGNh c2UgU0g3NzUwX0dQSU9JQ19BNzoKIAlzLT5ncGlvaWMgPSBtZW1fdmFsdWU7CiAJaWYgKG1lbV92 YWx1ZSAhPSAwKSB7CkBAIC03NzAsOSArNjc5LDYgQEAgc3RhdGljIHZvaWQgc2g3NzUwX21lbV93 cml0ZWwodm9pZCAqb3BhcQogCXMtPnBvcnRwdWxsdXBiID0gcG9ydHB1bGx1cChtZW1fdmFsdWUp OwogCXBvcnRiX2NoYW5nZWQocywgdGVtcCk7CiAJcmV0dXJuOwotICAgIGNhc2UgU0g3NzUwX1RD TlQwX0E3OgotCXMtPnRjbnQwID0gbWVtX3ZhbHVlICYgMHhmOwotCXJldHVybjsKICAgICBjYXNl IFNINzc1MF9NTVVDUl9BNzoKIAlzLT5jcHUtPm1tdWNyID0gbWVtX3ZhbHVlOwogCXJldHVybjsK QEAgLTgzMCw3ICs3MzYsMTEgQEAgU0g3NzUwU3RhdGUgKnNoNzc1MF9pbml0KENQVVNINFN0YXRl ICogYwogCQkJCQkgICAgICBzaDc3NTBfbWVtX3JlYWQsCiAJCQkJCSAgICAgIHNoNzc1MF9tZW1f d3JpdGUsIHMpOwogICAgIGNwdV9yZWdpc3Rlcl9waHlzaWNhbF9tZW1vcnkoMHgxYzAwMDAwMCwg MHgwNDAwMDAwMCwgc2g3NzUwX2lvX21lbW9yeSk7Ci0gICAgaW5pdF90aW1lcnMocyk7CiAgICAg aW5pdF9zZXJpYWxfcG9ydHMocyk7CisKKyAgICB0bXUwMTJfaW5pdCgweDFmZDgwMDAwLAorCQlU TVUwMTJfRkVBVF9UT0NSIHwgVE1VMDEyX0ZFQVRfM0NIQU4gfCBUTVUwMTJfRkVBVF9FWFRDTEss CisJCXMtPnBlcmlwaF9mcmVxKTsKKyAgICB0bXUwMTJfaW5pdCgweDFlMTAwMDAwLCAwLCBzLT5w ZXJpcGhfZnJlcSk7CiAgICAgcmV0dXJuIHM7CiB9Ci0tLSAwMDAxL2h3L3NoNzc1MF9yZWduYW1l cy5jCisrKyB3b3JrL2h3L3NoNzc1MF9yZWduYW1lcy5jCTIwMDctMDktMjcgMDk6MjI6NTcuMDAw MDAwMDAwICswOTAwCkBAIC00MiwxOCArNDIsNiBAQCBzdGF0aWMgcmVnbmFtZV90IHJlZ25hbWVz W10gPSB7CiAJUkVHTkFNRShTSDc3NTBfUk1PTkFSX0E3KQogCVJFR05BTUUoU0g3NzUwX1JDUjFf QTcpCiAJUkVHTkFNRShTSDc3NTBfUkNSMl9BNykKLQlSRUdOQU1FKFNINzc1MF9UT0NSX0E3KQot CVJFR05BTUUoU0g3NzUwX1RTVFJfQTcpCi0JUkVHTkFNRShTSDc3NTBfVENPUjBfQTcpCi0JUkVH TkFNRShTSDc3NTBfVENPUjFfQTcpCi0JUkVHTkFNRShTSDc3NTBfVENPUjJfQTcpCi0JUkVHTkFN RShTSDc3NTBfVENOVDBfQTcpCi0JUkVHTkFNRShTSDc3NTBfVENOVDFfQTcpCi0JUkVHTkFNRShT SDc3NTBfVENOVDJfQTcpCi0JUkVHTkFNRShTSDc3NTBfVENSMF9BNykKLQlSRUdOQU1FKFNINzc1 MF9UQ1IxX0E3KQotCVJFR05BTUUoU0g3NzUwX1RDUjJfQTcpCi0JUkVHTkFNRShTSDc3NTBfVENQ UjJfQTcpCiAJUkVHTkFNRShTSDc3NTBfQkNSMV9BNykKIAlSRUdOQU1FKFNINzc1MF9CQ1IyX0E3 KQogCVJFR05BTUUoU0g3NzUwX1dDUjFfQTcpCi0tLSAwMDAxL2h3L3NoNzc1MF9yZWdzLmgKKysr IHdvcmsvaHcvc2g3NzUwX3JlZ3MuaAkyMDA3LTA5LTI3IDA5OjIyOjU3LjAwMDAwMDAwMCArMDkw MApAQCAtNTI0LDk0ICs1MjQsNiBAQAogCQkJCQkgICB5ZWFyIGNvdW50ZXJzIGFyZSBzdG9wcGVk CiAJCQkJCSAgIDEgLSBzZWMsIG1pbiwgaHIsIGRheS1vZi13ZWVrLCBtb250aCwKIAkJCQkJICAg eWVhciBjb3VudGVycyBvcGVyYXRlIG5vcm1hbGx5ICovCi0KLQotLyoKLSAqIFRpbWVyIFVuaXQg KFRNVSkKLSAqLwotLyogVGltZXIgT3V0cHV0IENvbnRyb2wgUmVnaXN0ZXIgKGJ5dGUpIC0gVE9D UiAqLwotI2RlZmluZSBTSDc3NTBfVE9DUl9SRUdPRlMgICAgMHhEODAwMDAJLyogb2Zmc2V0ICov Ci0jZGVmaW5lIFNINzc1MF9UT0NSICAgICAgICAgICBTSDc3NTBfUDRfUkVHMzIoU0g3NzUwX1RP Q1JfUkVHT0ZTKQotI2RlZmluZSBTSDc3NTBfVE9DUl9BNyAgICAgICAgU0g3NzUwX0E3X1JFRzMy KFNINzc1MF9UT0NSX1JFR09GUykKLSNkZWZpbmUgU0g3NzUwX1RPQ1JfVENPRSAgICAgIDB4MDEJ LyogVGltZXIgQ2xvY2sgUGluIENvbnRyb2w6Ci0JCQkJCSAgIDAgLSBUQ0xLIGlzIHVzZWQgYXMg ZXh0ZXJuYWwgY2xvY2sKLQkJCQkJICAgaW5wdXQgb3IgaW5wdXQgY2FwdHVyZSBjb250cm9sCi0J CQkJCSAgIDEgLSBUQ0xLIGlzIHVzZWQgYXMgb24tY2hpcCBSVEMKLQkJCQkJICAgb3V0cHV0IGNs b2NrIHBpbiAqLwotCi0vKiBUaW1lciBTdGFydCBSZWdpc3RlciAoYnl0ZSkgLSBUU1RSICovCi0j ZGVmaW5lIFNINzc1MF9UU1RSX1JFR09GUyAgICAweEQ4MDAwNAkvKiBvZmZzZXQgKi8KLSNkZWZp bmUgU0g3NzUwX1RTVFIgICAgICAgICAgIFNINzc1MF9QNF9SRUczMihTSDc3NTBfVFNUUl9SRUdP RlMpCi0jZGVmaW5lIFNINzc1MF9UU1RSX0E3ICAgICAgICBTSDc3NTBfQTdfUkVHMzIoU0g3NzUw X1RTVFJfUkVHT0ZTKQotI2RlZmluZSBTSDc3NTBfVFNUUl9TVFIyICAgICAgMHgwNAkvKiBUQ05U MiBwZXJmb3JtcyBjb3VudCBvcGVyYXRpb25zICovCi0jZGVmaW5lIFNINzc1MF9UU1RSX1NUUjEg ICAgICAweDAyCS8qIFRDTlQxIHBlcmZvcm1zIGNvdW50IG9wZXJhdGlvbnMgKi8KLSNkZWZpbmUg U0g3NzUwX1RTVFJfU1RSMCAgICAgIDB4MDEJLyogVENOVDAgcGVyZm9ybXMgY291bnQgb3BlcmF0 aW9ucyAqLwotI2RlZmluZSBTSDc3NTBfVFNUUl9TVFIobikgICAgKDEgPDwgKG4pKQotCi0vKiBU aW1lciBDb25zdGFudCBSZWdpc3RlciAtIFRDT1IwLCBUQ09SMSwgVENPUjIgKi8KLSNkZWZpbmUg U0g3NzUwX1RDT1JfUkVHT0ZTKG4pICgweEQ4MDAwOCArICgobikqMTIpKQkvKiBvZmZzZXQgKi8K LSNkZWZpbmUgU0g3NzUwX1RDT1IobikgICAgICAgIFNINzc1MF9QNF9SRUczMihTSDc3NTBfVENP Ul9SRUdPRlMobikpCi0jZGVmaW5lIFNINzc1MF9UQ09SX0E3KG4pICAgICBTSDc3NTBfQTdfUkVH MzIoU0g3NzUwX1RDT1JfUkVHT0ZTKG4pKQotI2RlZmluZSBTSDc3NTBfVENPUjAgICAgICAgICAg U0g3NzUwX1RDT1IoMCkKLSNkZWZpbmUgU0g3NzUwX1RDT1IxICAgICAgICAgIFNINzc1MF9UQ09S KDEpCi0jZGVmaW5lIFNINzc1MF9UQ09SMiAgICAgICAgICBTSDc3NTBfVENPUigyKQotI2RlZmlu ZSBTSDc3NTBfVENPUjBfQTcgICAgICAgU0g3NzUwX1RDT1JfQTcoMCkKLSNkZWZpbmUgU0g3NzUw X1RDT1IxX0E3ICAgICAgIFNINzc1MF9UQ09SX0E3KDEpCi0jZGVmaW5lIFNINzc1MF9UQ09SMl9B NyAgICAgICBTSDc3NTBfVENPUl9BNygyKQotCi0vKiBUaW1lciBDb3VudGVyIFJlZ2lzdGVyIC0g VENOVDAsIFRDTlQxLCBUQ05UMiAqLwotI2RlZmluZSBTSDc3NTBfVENOVF9SRUdPRlMobikgKDB4 RDgwMDBDICsgKChuKSoxMikpCS8qIG9mZnNldCAqLwotI2RlZmluZSBTSDc3NTBfVENOVChuKSAg ICAgICAgU0g3NzUwX1A0X1JFRzMyKFNINzc1MF9UQ05UX1JFR09GUyhuKSkKLSNkZWZpbmUgU0g3 NzUwX1RDTlRfQTcobikgICAgIFNINzc1MF9BN19SRUczMihTSDc3NTBfVENOVF9SRUdPRlMobikp Ci0jZGVmaW5lIFNINzc1MF9UQ05UMCAgICAgICAgICBTSDc3NTBfVENOVCgwKQotI2RlZmluZSBT SDc3NTBfVENOVDEgICAgICAgICAgU0g3NzUwX1RDTlQoMSkKLSNkZWZpbmUgU0g3NzUwX1RDTlQy ICAgICAgICAgIFNINzc1MF9UQ05UKDIpCi0jZGVmaW5lIFNINzc1MF9UQ05UMF9BNyAgICAgICBT SDc3NTBfVENOVF9BNygwKQotI2RlZmluZSBTSDc3NTBfVENOVDFfQTcgICAgICAgU0g3NzUwX1RD TlRfQTcoMSkKLSNkZWZpbmUgU0g3NzUwX1RDTlQyX0E3ICAgICAgIFNINzc1MF9UQ05UX0E3KDIp Ci0KLS8qIFRpbWVyIENvbnRyb2wgUmVnaXN0ZXIgKGhhbGYpIC0gVENSMCwgVENSMSwgVENSMiAq LwotI2RlZmluZSBTSDc3NTBfVENSX1JFR09GUyhuKSAgKDB4RDgwMDEwICsgKChuKSoxMikpCS8q IG9mZnNldCAqLwotI2RlZmluZSBTSDc3NTBfVENSKG4pICAgICAgICAgU0g3NzUwX1A0X1JFRzMy KFNINzc1MF9UQ1JfUkVHT0ZTKG4pKQotI2RlZmluZSBTSDc3NTBfVENSX0E3KG4pICAgICAgU0g3 NzUwX0E3X1JFRzMyKFNINzc1MF9UQ1JfUkVHT0ZTKG4pKQotI2RlZmluZSBTSDc3NTBfVENSMCAg ICAgICAgICAgU0g3NzUwX1RDUigwKQotI2RlZmluZSBTSDc3NTBfVENSMSAgICAgICAgICAgU0g3 NzUwX1RDUigxKQotI2RlZmluZSBTSDc3NTBfVENSMiAgICAgICAgICAgU0g3NzUwX1RDUigyKQot I2RlZmluZSBTSDc3NTBfVENSMF9BNyAgICAgICAgU0g3NzUwX1RDUl9BNygwKQotI2RlZmluZSBT SDc3NTBfVENSMV9BNyAgICAgICAgU0g3NzUwX1RDUl9BNygxKQotI2RlZmluZSBTSDc3NTBfVENS Ml9BNyAgICAgICAgU0g3NzUwX1RDUl9BNygyKQotCi0jZGVmaW5lIFNINzc1MF9UQ1IyX0lDUEYg ICAgICAgMHgyMDAJLyogSW5wdXQgQ2FwdHVyZSBJbnRlcnJ1cHQgRmxhZwotCQkJCQkgICAoMSAt IGlucHV0IGNhcHR1cmUgaGFzIG9jY3VyZWQpICovCi0jZGVmaW5lIFNINzc1MF9UQ1JfVU5GICAg ICAgICAgMHgxMDAJLyogVW5kZXJmbG93IGZsYWcgKi8KLSNkZWZpbmUgU0g3NzUwX1RDUjJfSUNQ RSAgICAgICAweDBDMAkvKiBJbnB1dCBDYXB0dXJlIENvbnRyb2w6ICovCi0jZGVmaW5lIFNINzc1 MF9UQ1IyX0lDUEVfRElTICAgMHgwMDAJLyogICBJbnB1dCBDYXB0dXJlIGZ1bmN0aW9uIGlzIG5v dCB1c2VkICovCi0jZGVmaW5lIFNINzc1MF9UQ1IyX0lDUEVfTk9JTlQgMHgwODAJLyogICBJbnB1 dCBDYXB0dXJlIGZ1bmN0aW9uIGlzIHVzZWQsIGJ1dAotCQkJCQkgICBpbnB1dCBjYXB0dXJlIGlu dGVycnVwdCBpcyBub3QKLQkJCQkJICAgZW5hYmxlZCAqLwotI2RlZmluZSBTSDc3NTBfVENSMl9J Q1BFX0lOVCAgIDB4MEMwCS8qICAgSW5wdXQgQ2FwdHVyZSBmdW5jdGlvbiBpcyB1c2VkLAotCQkJ CQkgICBpbnB1dCBjYXB0dXJlIGludGVycnVwdCBlbmFibGVkICovCi0jZGVmaW5lIFNINzc1MF9U Q1JfVU5JRSAgICAgICAgMHgwMjAJLyogVW5kZXJmbG93IEludGVycnVwdCBDb250cm9sCi0JCQkJ CSAgICgxIC0gdW5kZXJmbG93IGludGVycnVwdCBlbmFibGVkKSAqLwotI2RlZmluZSBTSDc3NTBf VENSX0NLRUcgICAgICAgIDB4MDE4CS8qIENsb2NrIEVkZ2Ugc2VsZWN0aW9uOiAqLwotI2RlZmlu ZSBTSDc3NTBfVENSX0NLRUdfUkFJU0UgIDB4MDAwCS8qICAgQ291bnQvY2FwdHVyZSBvbiByaXNp bmcgZWRnZSAqLwotI2RlZmluZSBTSDc3NTBfVENSX0NLRUdfRkFMTCAgIDB4MDA4CS8qICAgQ291 bnQvY2FwdHVyZSBvbiBmYWxsaW5nIGVkZ2UgKi8KLSNkZWZpbmUgU0g3NzUwX1RDUl9DS0VHX0JP VEggICAweDAxOAkvKiAgIENvdW50L2NhcHR1cmUgb24gYm90aCByaXNpbmcgYW5kCi0JCQkJCSAg IGZhbGxpbmcgZWRnZXMgKi8KLSNkZWZpbmUgU0g3NzUwX1RDUl9UUFNDICAgICAgICAgMHgwMDcJ LyogVGltZXIgcHJlc2NhbGVyICovCi0jZGVmaW5lIFNINzc1MF9UQ1JfVFBTQ19ESVY0ICAgIDB4 MDAwCS8qICAgQ291bnRzIG9uIHBlcmlwaGVyYWwgY2xvY2svNCAqLwotI2RlZmluZSBTSDc3NTBf VENSX1RQU0NfRElWMTYgICAweDAwMQkvKiAgIENvdW50cyBvbiBwZXJpcGhlcmFsIGNsb2NrLzE2 ICovCi0jZGVmaW5lIFNINzc1MF9UQ1JfVFBTQ19ESVY2NCAgIDB4MDAyCS8qICAgQ291bnRzIG9u IHBlcmlwaGVyYWwgY2xvY2svNjQgKi8KLSNkZWZpbmUgU0g3NzUwX1RDUl9UUFNDX0RJVjI1NiAg MHgwMDMJLyogICBDb3VudHMgb24gcGVyaXBoZXJhbCBjbG9jay8yNTYgKi8KLSNkZWZpbmUgU0g3 NzUwX1RDUl9UUFNDX0RJVjEwMjQgMHgwMDQJLyogICBDb3VudHMgb24gcGVyaXBoZXJhbCBjbG9j ay8xMDI0ICovCi0jZGVmaW5lIFNINzc1MF9UQ1JfVFBTQ19SVEMgICAgIDB4MDA2CS8qICAgQ291 bnRzIG9uIG9uLWNoaXAgUlRDIG91dHB1dCBjbGsgKi8KLSNkZWZpbmUgU0g3NzUwX1RDUl9UUFND X0VYVCAgICAgMHgwMDcJLyogICBDb3VudHMgb24gZXh0ZXJuYWwgY2xvY2sgKi8KLQotLyogSW5w dXQgQ2FwdHVyZSBSZWdpc3RlciAocmVhZC1vbmx5KSAtIFRDUFIyICovCi0jZGVmaW5lIFNINzc1 MF9UQ1BSMl9SRUdPRlMgICAweEQ4MDAyQwkvKiBvZmZzZXQgKi8KLSNkZWZpbmUgU0g3NzUwX1RD UFIyICAgICAgICAgIFNINzc1MF9QNF9SRUczMihTSDc3NTBfVENQUjJfUkVHT0ZTKQotI2RlZmlu ZSBTSDc3NTBfVENQUjJfQTcgICAgICAgU0g3NzUwX0E3X1JFRzMyKFNINzc1MF9UQ1BSMl9SRUdP RlMpCi0KIC8qCiAgKiBCdXMgU3RhdGUgQ29udHJvbGxlciAtIEJTQwogICovCi0tLSAvZGV2L251 bGwKKysrIHdvcmsvaHcvc2hfdGltZXIuYwkyMDA3LTA5LTI3IDE2OjM1OjU0LjAwMDAwMDAwMCAr MDkwMApAQCAtMCwwICsxLDMyMyBAQAorLyogCisgKiBTdXBlckggVGltZXIgbW9kdWxlcy4KKyAq CisgKiBDb3B5cmlnaHQgKGMpIDIwMDcgTWFnbnVzIERhbW0KKyAqIEJhc2VkIG9uIGFybV90aW1l ci5jIGJ5IFBhdWwgQnJvb2sKKyAqIENvcHlyaWdodCAoYykgMjAwNS0yMDA2IENvZGVTb3VyY2Vy eS4KKyAqCisgKiBUaGlzIGNvZGUgaXMgbGljZW5jZWQgdW5kZXIgdGhlIEdQTC4KKyAqLworCisj aW5jbHVkZSAidmwuaCIKKworLy8jZGVmaW5lIERFQlVHX1RJTUVSCisKKyNkZWZpbmUgVElNRVJf VENSX1RQU0MgICAgICAgICAgKDcgPDwgMCkKKyNkZWZpbmUgVElNRVJfVENSX0NLRUcgICAgICAg ICAgKDMgPDwgMykKKyNkZWZpbmUgVElNRVJfVENSX1VOSUUgICAgICAgICAgKDEgPDwgNSkKKyNk ZWZpbmUgVElNRVJfVENSX0lDUEUgICAgICAgICAgKDMgPDwgNikKKyNkZWZpbmUgVElNRVJfVENS X1VORiAgICAgICAgICAgKDEgPDwgOCkKKyNkZWZpbmUgVElNRVJfVENSX0lDUEYgICAgICAgICAg KDEgPDwgOSkKKyNkZWZpbmUgVElNRVJfVENSX1JFU0VSVkVEICAgICAgKDB4M2YgPDwgMTApCisK KyNkZWZpbmUgVElNRVJfRkVBVF9DQVBUICAgKDEgPDwgMCkKKyNkZWZpbmUgVElNRVJfRkVBVF9F WFRDTEsgKDEgPDwgMSkKKwordHlwZWRlZiBzdHJ1Y3QgeworICAgIHB0aW1lcl9zdGF0ZSAqdGlt ZXI7CisgICAgdWludDMyX3QgdGNudDsKKyAgICB1aW50MzJfdCB0Y29yOworICAgIHVpbnQzMl90 IHRjcjsKKyAgICB1aW50MzJfdCB0Y3ByOworICAgIGludCBmcmVxOworICAgIGludCBpbnRfbGV2 ZWw7CisgICAgaW50IGZlYXQ7CisgICAgaW50IGVuYWJsZWQ7CisgICAgcWVtdV9pcnEgaXJxOwor fSBzaF90aW1lcl9zdGF0ZTsKKworLyogQ2hlY2sgYWxsIGFjdGl2ZSB0aW1lcnMsIGFuZCBzY2hl ZHVsZSB0aGUgbmV4dCB0aW1lciBpbnRlcnJ1cHQuICovCisKK3N0YXRpYyB2b2lkIHNoX3RpbWVy X3VwZGF0ZShzaF90aW1lcl9zdGF0ZSAqcykKK3sKKyNpZiAwIC8qIG5vdCB5ZXQgKi8KKyAgICAv KiBVcGRhdGUgaW50ZXJydXB0cy4gICovCisgICAgaWYgKHMtPmludF9sZXZlbCAmJiAocy0+dGNy ICYgVElNRVJfVENSX1VOSUUpKSB7CisgICAgICAgIHFlbXVfaXJxX3JhaXNlKHMtPmlycSk7Cisg ICAgfSBlbHNlIHsKKyAgICAgICAgcWVtdV9pcnFfbG93ZXIocy0+aXJxKTsKKyAgICB9CisjZW5k aWYKK30KKwordWludDMyX3Qgc2hfdGltZXJfcmVhZCh2b2lkICpvcGFxdWUsIHRhcmdldF9waHlz X2FkZHJfdCBvZmZzZXQpCit7CisgICAgc2hfdGltZXJfc3RhdGUgKnMgPSAoc2hfdGltZXJfc3Rh dGUgKilvcGFxdWU7CisKKyAgICBzd2l0Y2ggKG9mZnNldCA+PiAyKSB7CisgICAgY2FzZSAwOgor ICAgICAgICByZXR1cm4gcy0+dGNvcjsKKyAgICBjYXNlIDE6CisgICAgICAgIHJldHVybiBwdGlt ZXJfZ2V0X2NvdW50KHMtPnRpbWVyKTsKKyAgICBjYXNlIDI6CisgICAgICAgIHJldHVybiBzLT50 Y3IgfCAocy0+aW50X2xldmVsID8gVElNRVJfVENSX1VORiA6IDApOworICAgIGNhc2UgMzoKKyAg ICAgICAgaWYgKHMtPmZlYXQgJiBUSU1FUl9GRUFUX0NBUFQpCisgICAgICAgICAgICByZXR1cm4g cy0+dGNwcjsKKyAgICBkZWZhdWx0OgorICAgICAgICBjcHVfYWJvcnQgKGNwdV9zaW5nbGVfZW52 LCAic2hfdGltZXJfcmVhZDogQmFkIG9mZnNldCAleFxuIiwKKyAgICAgICAgICAgICAgICAgICAo aW50KW9mZnNldCk7CisgICAgICAgIHJldHVybiAwOworICAgIH0KK30KKworc3RhdGljIHZvaWQg c2hfdGltZXJfd3JpdGUodm9pZCAqb3BhcXVlLCB0YXJnZXRfcGh5c19hZGRyX3Qgb2Zmc2V0LAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHZhbHVlKQoreworICAgIHNoX3Rp bWVyX3N0YXRlICpzID0gKHNoX3RpbWVyX3N0YXRlICopb3BhcXVlOworICAgIGludCBmcmVxOwor CisgICAgc3dpdGNoIChvZmZzZXQgPj4gMikgeworICAgIGNhc2UgMDoKKyAgICAgICAgcy0+dGNv ciA9IHZhbHVlOworICAgICAgICBwdGltZXJfc2V0X2xpbWl0KHMtPnRpbWVyLCBzLT50Y29yLCAw KTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSAxOgorICAgICAgICBzLT50Y250ID0gdmFsdWU7 CisgICAgICAgIHB0aW1lcl9zZXRfY291bnQocy0+dGltZXIsIHMtPnRjbnQpOworICAgICAgICBi cmVhazsKKyAgICBjYXNlIDI6CisgICAgICAgIGlmIChzLT5lbmFibGVkKSB7CisgICAgICAgICAg ICAvKiBQYXVzZSB0aGUgdGltZXIgaWYgaXQgaXMgcnVubmluZy4gIFRoaXMgbWF5IGNhdXNlIHNv bWUKKyAgICAgICAgICAgICAgIGluYWNjdXJhY3kgZHVyZSB0byByb3VuZGluZywgYnV0IGF2b2lk cyBhIHdob2xlIGxvdCBvZiBvdGhlcgorICAgICAgICAgICAgICAgbWVzc3luZXNzLiAgKi8KKyAg ICAgICAgICAgIHB0aW1lcl9zdG9wKHMtPnRpbWVyKTsKKyAgICAgICAgfQorICAgICAgICBmcmVx ID0gcy0+ZnJlcTsKKyAgICAgICAgLyogPz8/IE5lZWQgdG8gcmVjYWxjdWxhdGUgZXhwaXJ5IHRp bWUgYWZ0ZXIgY2hhbmdpbmcgZGl2aXNvci4gICovCisgICAgICAgIHN3aXRjaCAodmFsdWUgJiBU SU1FUl9UQ1JfVFBTQykgeworICAgICAgICBjYXNlIDA6IGZyZXEgPj49IDI7IGJyZWFrOworICAg ICAgICBjYXNlIDE6IGZyZXEgPj49IDQ7IGJyZWFrOworICAgICAgICBjYXNlIDI6IGZyZXEgPj49 IDY7IGJyZWFrOworICAgICAgICBjYXNlIDM6IGZyZXEgPj49IDg7IGJyZWFrOworICAgICAgICBj YXNlIDQ6IGZyZXEgPj49IDEwOyBicmVhazsKKwljYXNlIDY6CisJY2FzZSA3OiBpZiAocy0+ZmVh dCAmIFRJTUVSX0ZFQVRfRVhUQ0xLKSBicmVhazsKKwlkZWZhdWx0OiBjcHVfYWJvcnQgKGNwdV9z aW5nbGVfZW52LCAKKwkJCSAgICJzaF90aW1lcl93cml0ZTogUmVzZXJ2ZWQgVFBTQyB2YWx1ZVxu Iik7IGJyZWFrOworICAgICAgICB9CisgICAgICAgIHN3aXRjaCAoKHZhbHVlICYgVElNRVJfVENS X0NLRUcpID4+IDMpIHsKKwljYXNlIDA6IGJyZWFrOworICAgICAgICBjYXNlIDE6CisgICAgICAg IGNhc2UgMjoKKyAgICAgICAgY2FzZSAzOiBpZiAocy0+ZmVhdCAmIFRJTUVSX0ZFQVRfRVhUQ0xL KSBicmVhazsKKwlkZWZhdWx0OiBjcHVfYWJvcnQgKGNwdV9zaW5nbGVfZW52LCAKKwkJCSAgICJz aF90aW1lcl93cml0ZTogUmVzZXJ2ZWQgQ0tFRyB2YWx1ZVxuIik7IGJyZWFrOworICAgICAgICB9 CisgICAgICAgIHN3aXRjaCAoKHZhbHVlICYgVElNRVJfVENSX0lDUEUpID4+IDYpIHsKKwljYXNl IDA6IGJyZWFrOworICAgICAgICBjYXNlIDI6CisgICAgICAgIGNhc2UgMzogaWYgKHMtPmZlYXQg JiBUSU1FUl9GRUFUX0NBUFQpIGJyZWFrOworCWRlZmF1bHQ6IGNwdV9hYm9ydCAoY3B1X3Npbmds ZV9lbnYsIAorCQkJICAgInNoX3RpbWVyX3dyaXRlOiBSZXNlcnZlZCBJQ1BFIHZhbHVlXG4iKTsg YnJlYWs7CisgICAgICAgIH0KKwlpZiAoKHZhbHVlICYgVElNRVJfVENSX1VORikgPT0gMCkKKyAg ICAgICAgICAgIHMtPmludF9sZXZlbCA9IDA7CisKKwl2YWx1ZSAmPSB+VElNRVJfVENSX1VORjsK KworCWlmICgodmFsdWUgJiBUSU1FUl9UQ1JfSUNQRikgJiYgKCEocy0+ZmVhdCAmIFRJTUVSX0ZF QVRfQ0FQVCkpKQorICAgICAgICAgICAgY3B1X2Fib3J0IChjcHVfc2luZ2xlX2VudiwgCisJCSAg ICAgICAic2hfdGltZXJfd3JpdGU6IFJlc2VydmVkIElDUEYgdmFsdWVcbiIpOworCisJdmFsdWUg Jj0gflRJTUVSX1RDUl9JQ1BGOyAvKiBjYXB0dXJlIG5vdCBzdXBwb3J0ZWQgKi8KKworCWlmICh2 YWx1ZSAmIFRJTUVSX1RDUl9SRVNFUlZFRCkKKyAgICAgICAgICAgIGNwdV9hYm9ydCAoY3B1X3Np bmdsZV9lbnYsIAorCQkgICAgICAgInNoX3RpbWVyX3dyaXRlOiBSZXNlcnZlZCBUQ1IgYml0cyBz ZXRcbiIpOworICAgICAgICBzLT50Y3IgPSB2YWx1ZTsKKyAgICAgICAgcHRpbWVyX3NldF9saW1p dChzLT50aW1lciwgcy0+dGNvciwgMCk7CisgICAgICAgIHB0aW1lcl9zZXRfZnJlcShzLT50aW1l ciwgZnJlcSk7CisgICAgICAgIGlmIChzLT5lbmFibGVkKSB7CisgICAgICAgICAgICAvKiBSZXN0 YXJ0IHRoZSB0aW1lciBpZiBzdGlsbCBlbmFibGVkLiAgKi8KKyAgICAgICAgICAgIHB0aW1lcl9y dW4ocy0+dGltZXIsIDApOworICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgMzoK KyAgICAgICAgaWYgKHMtPmZlYXQgJiBUSU1FUl9GRUFUX0NBUFQpIHsKKyAgICAgICAgICAgIHMt PnRjcHIgPSB2YWx1ZTsKKwkgICAgYnJlYWs7CisJfQorICAgIGRlZmF1bHQ6CisgICAgICAgIGNw dV9hYm9ydCAoY3B1X3NpbmdsZV9lbnYsICJzaF90aW1lcl93cml0ZTogQmFkIG9mZnNldCAleFxu IiwKKyAgICAgICAgICAgICAgICAgICAoaW50KW9mZnNldCk7CisgICAgfQorICAgIHNoX3RpbWVy X3VwZGF0ZShzKTsKK30KKworc3RhdGljIHZvaWQgc2hfdGltZXJfc3RhcnRfc3RvcCh2b2lkICpv cGFxdWUsIGludCBlbmFibGUpCit7CisgICAgc2hfdGltZXJfc3RhdGUgKnMgPSAoc2hfdGltZXJf c3RhdGUgKilvcGFxdWU7CisKKyNpZmRlZiBERUJVR19USU1FUgorICAgIHByaW50Zigic2hfdGlt ZXJfc3RhcnRfc3RvcCAlZCAoJWQpXG4iLCBlbmFibGUsIHMtPmVuYWJsZWQpOworI2VuZGlmCisK KyAgICBpZiAocy0+ZW5hYmxlZCAmJiAhZW5hYmxlKSB7CisgICAgICAgIHB0aW1lcl9zdG9wKHMt PnRpbWVyKTsKKyAgICB9CisgICAgaWYgKCFzLT5lbmFibGVkICYmIGVuYWJsZSkgeworICAgICAg ICBwdGltZXJfcnVuKHMtPnRpbWVyLCAwKTsKKyAgICB9CisgICAgcy0+ZW5hYmxlZCA9ICEhZW5h YmxlOworCisjaWZkZWYgREVCVUdfVElNRVIKKyAgICBwcmludGYoInNoX3RpbWVyX3N0YXJ0X3N0 b3AgZG9uZSAlZFxuIiwgcy0+ZW5hYmxlZCk7CisjZW5kaWYKK30KKworc3RhdGljIHZvaWQgc2hf dGltZXJfdGljayh2b2lkICpvcGFxdWUpCit7CisgICAgc2hfdGltZXJfc3RhdGUgKnMgPSAoc2hf dGltZXJfc3RhdGUgKilvcGFxdWU7CisgICAgcy0+aW50X2xldmVsID0gcy0+ZW5hYmxlZDsKKyAg ICBzaF90aW1lcl91cGRhdGUocyk7Cit9CisKK3N0YXRpYyB2b2lkICpzaF90aW1lcl9pbml0KHVp bnQzMl90IGZyZXEsIGludCBmZWF0KQoreworICAgIHNoX3RpbWVyX3N0YXRlICpzOworICAgIFFF TVVCSCAqYmg7CisKKyAgICBzID0gKHNoX3RpbWVyX3N0YXRlICopcWVtdV9tYWxsb2N6KHNpemVv ZihzaF90aW1lcl9zdGF0ZSkpOworICAgIHMtPmZyZXEgPSBmcmVxOworICAgIHMtPmZlYXQgPSBm ZWF0OworICAgIHMtPnRjb3IgPSAweGZmZmZmZmZmOworICAgIHMtPnRjbnQgPSAweGZmZmZmZmZm OworICAgIHMtPnRjcHIgPSAweGRlYWRiZWVmOworICAgIHMtPnRjb3IgPSAwOworICAgIHMtPmVu YWJsZWQgPSAwOworCisgICAgYmggPSBxZW11X2JoX25ldyhzaF90aW1lcl90aWNrLCBzKTsKKyAg ICBzLT50aW1lciA9IHB0aW1lcl9pbml0KGJoKTsKKyAgICAvKiA/Pz8gU2F2ZS9yZXN0b3JlLiAg Ki8KKyAgICByZXR1cm4gczsKK30KKwordHlwZWRlZiBzdHJ1Y3QgeworICAgIHZvaWQgKnRpbWVy WzNdOworICAgIGludCBsZXZlbFszXTsKKyAgICB1aW50MzJfdCB0b2NyOworICAgIHVpbnQzMl90 IHRzdHI7CisgICAgdGFyZ2V0X3BoeXNfYWRkcl90IGJhc2U7CisgICAgaW50IGZlYXQ7Cit9IHRt dTAxMl9zdGF0ZTsKKworc3RhdGljIHVpbnQzMl90IHRtdTAxMl9yZWFkKHZvaWQgKm9wYXF1ZSwg dGFyZ2V0X3BoeXNfYWRkcl90IG9mZnNldCkKK3sKKyAgICB0bXUwMTJfc3RhdGUgKnMgPSAodG11 MDEyX3N0YXRlICopb3BhcXVlOworCisjaWZkZWYgREVCVUdfVElNRVIKKyAgICBwcmludGYoInRt dTAxMl9yZWFkIDB4JWx4XG4iLCAodW5zaWduZWQgbG9uZykgb2Zmc2V0KTsKKyNlbmRpZgorICAg IG9mZnNldCAtPSBzLT5iYXNlOworCisgICAgaWYgKG9mZnNldCA+PSAweDIwKSB7CisgICAgICAg IGlmICghKHMtPmZlYXQgJiBUTVUwMTJfRkVBVF8zQ0hBTikpCisJICAgIGNwdV9hYm9ydCAoY3B1 X3NpbmdsZV9lbnYsICJ0bXUwMTJfd3JpdGU6IEJhZCBjaGFubmVsIG9mZnNldCAleFxuIiwKKwkJ ICAgICAgIChpbnQpb2Zmc2V0KTsKKyAgICAgICAgcmV0dXJuIHNoX3RpbWVyX3JlYWQocy0+dGlt ZXJbMl0sIG9mZnNldCAtIDB4MjApOworICAgIH0KKworICAgIGlmIChvZmZzZXQgPj0gMHgxNCkK KyAgICAgICAgcmV0dXJuIHNoX3RpbWVyX3JlYWQocy0+dGltZXJbMV0sIG9mZnNldCAtIDB4MTQp OworICAgIAorICAgIGlmIChvZmZzZXQgPj0gMHgwOCkKKyAgICAgICAgcmV0dXJuIHNoX3RpbWVy X3JlYWQocy0+dGltZXJbMF0sIG9mZnNldCAtIDB4MDgpOworICAgIAorICAgIGlmIChvZmZzZXQg PT0gNCkKKyAgICAgICAgcmV0dXJuIHMtPnRzdHI7CisKKyAgICBpZiAoKHMtPmZlYXQgJiBUTVUw MTJfRkVBVF9UT0NSKSAmJiBvZmZzZXQgPT0gMCkKKyAgICAgICAgcmV0dXJuIHMtPnRvY3I7CisK KyAgICBjcHVfYWJvcnQgKGNwdV9zaW5nbGVfZW52LCAidG11MDEyX3dyaXRlOiBCYWQgb2Zmc2V0 ICV4XG4iLAorCSAgICAgICAoaW50KW9mZnNldCk7CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRp YyB2b2lkIHRtdTAxMl93cml0ZSh2b2lkICpvcGFxdWUsIHRhcmdldF9waHlzX2FkZHJfdCBvZmZz ZXQsCisgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCB2YWx1ZSkKK3sKKyAgICB0bXUw MTJfc3RhdGUgKnMgPSAodG11MDEyX3N0YXRlICopb3BhcXVlOworCisjaWZkZWYgREVCVUdfVElN RVIKKyAgICBwcmludGYoInRtdTAxMl93cml0ZSAweCVseCAweCUwOHhcbiIsICh1bnNpZ25lZCBs b25nKSBvZmZzZXQsIHZhbHVlKTsKKyNlbmRpZgorICAgIG9mZnNldCAtPSBzLT5iYXNlOworCisg ICAgaWYgKG9mZnNldCA+PSAweDIwKSB7CisgICAgICAgIGlmICghKHMtPmZlYXQgJiBUTVUwMTJf RkVBVF8zQ0hBTikpCisJICAgIGNwdV9hYm9ydCAoY3B1X3NpbmdsZV9lbnYsICJ0bXUwMTJfd3Jp dGU6IEJhZCBjaGFubmVsIG9mZnNldCAleFxuIiwKKwkJICAgICAgIChpbnQpb2Zmc2V0KTsKKyAg ICAgICAgc2hfdGltZXJfd3JpdGUocy0+dGltZXJbMl0sIG9mZnNldCAtIDB4MjAsIHZhbHVlKTsK KwlyZXR1cm47CisgICAgfQorCisgICAgaWYgKG9mZnNldCA+PSAweDE0KSB7CisgICAgICAgIHNo X3RpbWVyX3dyaXRlKHMtPnRpbWVyWzFdLCBvZmZzZXQgLSAweDE0LCB2YWx1ZSk7CisJcmV0dXJu OworICAgIH0KKyAgICAKKyAgICBpZiAob2Zmc2V0ID49IDB4MDgpIHsKKyAgICAgICAgc2hfdGlt ZXJfd3JpdGUocy0+dGltZXJbMF0sIG9mZnNldCAtIDB4MDgsIHZhbHVlKTsKKwlyZXR1cm47Cisg ICAgfQorICAgIAorICAgIGlmIChvZmZzZXQgPT0gNCkgeworICAgICAgICBzaF90aW1lcl9zdGFy dF9zdG9wKHMtPnRpbWVyWzBdLCB2YWx1ZSAmICgxIDw8IDApKTsKKyAgICAgICAgc2hfdGltZXJf c3RhcnRfc3RvcChzLT50aW1lclsxXSwgdmFsdWUgJiAoMSA8PCAxKSk7CisgICAgICAgIGlmIChz LT5mZWF0ICYgVE1VMDEyX0ZFQVRfM0NIQU4pCisgICAgICAgICAgICBzaF90aW1lcl9zdGFydF9z dG9wKHMtPnRpbWVyWzJdLCB2YWx1ZSAmICgxIDw8IDIpKTsKKwllbHNlCisgICAgICAgICAgICBp ZiAodmFsdWUgJiAoMSA8PCAyKSkKKyAgICAgICAgICAgICAgICBjcHVfYWJvcnQgKGNwdV9zaW5n bGVfZW52LCAidG11MDEyX3dyaXRlOiBCYWQgY2hhbm5lbFxuIik7CisKKwlzLT50c3RyID0gdmFs dWU7CisJcmV0dXJuOworICAgIH0KKworICAgIGlmICgocy0+ZmVhdCAmIFRNVTAxMl9GRUFUX1RP Q1IpICYmIG9mZnNldCA9PSAwKSB7CisgICAgICAgIHMtPnRvY3IgPSB2YWx1ZSAmICgxIDw8IDAp OworICAgIH0KK30KKworc3RhdGljIENQVVJlYWRNZW1vcnlGdW5jICp0bXUwMTJfcmVhZGZuW10g PSB7CisgICAgdG11MDEyX3JlYWQsCisgICAgdG11MDEyX3JlYWQsCisgICAgdG11MDEyX3JlYWQK K307CisKK3N0YXRpYyBDUFVXcml0ZU1lbW9yeUZ1bmMgKnRtdTAxMl93cml0ZWZuW10gPSB7Cisg ICAgdG11MDEyX3dyaXRlLAorICAgIHRtdTAxMl93cml0ZSwKKyAgICB0bXUwMTJfd3JpdGUKK307 CisKK3ZvaWQgdG11MDEyX2luaXQodWludDMyX3QgYmFzZSwgaW50IGZlYXQsIHVpbnQzMl90IGZy ZXEpCit7CisgICAgaW50IGlvbWVtdHlwZTsKKyAgICB0bXUwMTJfc3RhdGUgKnM7CisgICAgaW50 IHRpbWVyX2ZlYXQgPSAoZmVhdCAmIFRNVTAxMl9GRUFUX0VYVENMSykgPyBUSU1FUl9GRUFUX0VY VENMSyA6IDA7CisKKyAgICBzID0gKHRtdTAxMl9zdGF0ZSAqKXFlbXVfbWFsbG9jeihzaXplb2Yo dG11MDEyX3N0YXRlKSk7CisgICAgcy0+YmFzZSA9IGJhc2U7CisgICAgcy0+ZmVhdCA9IGZlYXQ7 CisgICAgcy0+dGltZXJbMF0gPSBzaF90aW1lcl9pbml0KGZyZXEsIHRpbWVyX2ZlYXQpOworICAg IHMtPnRpbWVyWzFdID0gc2hfdGltZXJfaW5pdChmcmVxLCB0aW1lcl9mZWF0KTsKKyAgICBpZiAo ZmVhdCAmIFRNVTAxMl9GRUFUXzNDSEFOKQorICAgICAgICBzLT50aW1lclsyXSA9IHNoX3RpbWVy X2luaXQoZnJlcSwgdGltZXJfZmVhdCB8IFRJTUVSX0ZFQVRfQ0FQVCk7CisgICAgaW9tZW10eXBl ID0gY3B1X3JlZ2lzdGVyX2lvX21lbW9yeSgwLCB0bXUwMTJfcmVhZGZuLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdG11MDEyX3dyaXRlZm4sIHMpOworICAgIGNwdV9y ZWdpc3Rlcl9waHlzaWNhbF9tZW1vcnkoYmFzZSwgMHgwMDAwMTAwMCwgaW9tZW10eXBlKTsKKyAg ICAvKiA/Pz8gU2F2ZS9yZXN0b3JlLiAgKi8KK30KLS0tIDAwMDMvdmwuaAorKysgd29yay92bC5o CTIwMDctMDktMjcgMDk6MjI6NTcuMDAwMDAwMDAwICswOTAwCkBAIC0xNTA5LDYgKzE1MDksMTIg QEAgdHlwZWRlZiBzdHJ1Y3QgewogCiBpbnQgc2g3NzUwX3JlZ2lzdGVyX2lvX2RldmljZShzdHJ1 Y3QgU0g3NzUwU3RhdGUgKnMsCiAJCQkgICAgICBzaDc3NTBfaW9fZGV2aWNlICogZGV2aWNlKTsK Ky8qIHNoX3RpbWVyLmMgKi8KKyNkZWZpbmUgVE1VMDEyX0ZFQVRfVE9DUiAgICgxIDw8IDApCisj ZGVmaW5lIFRNVTAxMl9GRUFUXzNDSEFOICAoMSA8PCAxKQorI2RlZmluZSBUTVUwMTJfRkVBVF9F WFRDTEsgKDEgPDwgMikKK3ZvaWQgdG11MDEyX2luaXQodWludDMyX3QgYmFzZSwgaW50IGZlYXQs IHVpbnQzMl90IGZyZXEpOworCiAvKiB0YzU4MTI4LmMgKi8KIGludCB0YzU4MTI4X2luaXQoc3Ry dWN0IFNINzc1MFN0YXRlICpzLCBjaGFyICp6b25lMSwgY2hhciAqem9uZTIpOwogCg== ------=_Part_4102_30098519.1190965864238 Content-Type: application/octet-stream; name="qemu-cvs-20070928-sh_serial.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="qemu-cvs-20070928-sh_serial.patch"; filename="qemu-cvs-20070928-sh_serial.patch"; filename="qemu-cvs-20070928-sh_serial.patch"; filename="qemu-cvs-20070928-sh_serial.patch"; filename="qemu-cvs-20070928-sh_serial.patch" X-Attachment-Id: f_f74e0wav c2g6IGFkZCBzdGFuZCBhbG9uZSBTQ0kvU0NJRiBlbXVsYXRpb24gY29kZQoKVGhpcyBwYXRjaCBy ZW1vdmVzIHRoZSBvbGQgc2VyaWFsIHBvcnQgY29kZSBhbmQgYWRkcyBzZXBhcmF0ZSBjb2RlIGlu Cmh3L3NoX3NlcmlhbC5jIHRoYXQgZW11bGF0ZXMgU0NJL1NDSUYgc2VyaWFsIGRldmljZXMuIE9u bHkgYSBmZXcgdGhpbmdzCmFyZSBzdXBwb3J0ZWQgeWV0LCBidXQgdGhpcyBpcyBlbm91Z2ggdG8g Z2V0IGVhcmx5IHByaW50ayB3b3JraW5nIG9uClNDSUYuIEluIHRoZSBmdXR1cmUgd2UgbmVlZCBz dXBwb3J0IGZvciByeCwgaW50ZXJydXB0cyBhbmQgcnggZmlmbyBhbW9uZwpvdGhlciB0aGluZ3Mu CgpTaWduZWQtb2ZmLWJ5OiBNYWdudXMgRGFtbSA8ZGFtbUBpZ2VsLmNvLmpwPgotLS0KCiBNYWtl ZmlsZS50YXJnZXQgICAgICB8ICAgIDIgCiBody9zaDc3NTAuYyAgICAgICAgICB8ICAzNDUgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGh3L3NoNzc1 MF9yZWduYW1lcy5jIHwgICAxOCAtLQogaHcvc2g3NzUwX3JlZ3MuaCAgICAgfCAgMjI1IC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBody9zaF9zZXJpYWwuYyAgICAgICB8ICAzMTUg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiB2bC5oICAgICAg ICAgICAgICAgICB8ICAgIDUgCiA2IGZpbGVzIGNoYW5nZWQsIDMyNSBpbnNlcnRpb25zKCspLCA1 ODUgZGVsZXRpb25zKC0pCgotLS0gMDAwMy9NYWtlZmlsZS50YXJnZXQKKysrIHdvcmsvTWFrZWZp bGUudGFyZ2V0CTIwMDctMDktMjggMTU6MDQ6NDEuMDAwMDAwMDAwICswOTAwCkBAIC00NzcsNyAr NDc3LDcgQEAgQ1BQRkxBR1MgKz0gLURIQVNfQVVESU8KIGVuZGlmCiBpZmVxICgkKFRBUkdFVF9C QVNFX0FSQ0gpLCBzaDQpCiBWTF9PQkpTKz0gc2hpeC5vIHIyZC5vIHNoNzc1MC5vIHNoNzc1MF9y ZWduYW1lcy5vIHRjNTgxMjgubwotVkxfT0JKUys9IHNoX3RpbWVyLm8gcHRpbWVyLm8KK1ZMX09C SlMrPSBzaF90aW1lci5vIHB0aW1lci5vIHNoX3NlcmlhbC5vCiBlbmRpZgogaWZlcSAoJChUQVJH RVRfQkFTRV9BUkNIKSwgbTY4aykKIFZMX09CSlMrPSBhbjUyMDYubyBtY2Y1MjA2Lm8gcHRpbWVy Lm8gbWNmX3VhcnQubyBtY2ZfaW50Yy5vIG1jZjUyMDgubyBtY2ZfZmVjLm8KLS0tIDAwMDMvaHcv c2g3NzUwLmMKKysrIHdvcmsvaHcvc2g3NzUwLmMJMjAwNy0wOS0yOCAxNTowNDo0MS4wMDAwMDAw MDAgKzA5MDAKQEAgLTI3LDEzICsyNyw2IEBACiAjaW5jbHVkZSAic2g3NzUwX3JlZ3MuaCIKICNp bmNsdWRlICJzaDc3NTBfcmVnbmFtZXMuaCIKIAotdHlwZWRlZiBzdHJ1Y3QgewotICAgIHVpbnQ4 X3QgZGF0YVsxNl07Ci0gICAgdWludDhfdCBsZW5ndGg7CQkvKiBOdW1iZXIgb2YgY2hhcmFjdGVy cyBpbiB0aGUgRklGTyAqLwotICAgIHVpbnQ4X3Qgd3JpdGVfaWR4OwkJLyogSW5kZXggb2YgZmly c3QgY2hhcmFjdGVyIHRvIHdyaXRlICovCi0gICAgdWludDhfdCByZWFkX2lkeDsJCS8qIEluZGV4 IG9mIGZpcnN0IGNoYXJhY3RlciB0byByZWFkICovCi19IGZpZm87Ci0KICNkZWZpbmUgTkJfREVW SUNFUyA0CiAKIHR5cGVkZWYgc3RydWN0IFNINzc1MFN0YXRlIHsKQEAgLTQzLDI3ICszNiw2IEBA IHR5cGVkZWYgc3RydWN0IFNINzc1MFN0YXRlIHsKICAgICB1aW50MzJfdCBwZXJpcGhfZnJlcTsK ICAgICAvKiBTRFJBTSBjb250cm9sbGVyICovCiAgICAgdWludDE2X3QgcmZjcjsKLSAgICAvKiBG aXJzdCBzZXJpYWwgcG9ydCAqLwotICAgIENoYXJEcml2ZXJTdGF0ZSAqc2VyaWFsMTsKLSAgICB1 aW50OF90IHNjc2NyMTsKLSAgICB1aW50OF90IHNjc21yMTsKLSAgICB1aW50OF90IHNjYnJyMTsK LSAgICB1aW50OF90IHNjc3NyMTsKLSAgICB1aW50OF90IHNjc3NyMV9yZWFkOwotICAgIHVpbnQ4 X3Qgc2N0c3IxOwotICAgIHVpbnQ4X3Qgc2N0c3IxX2xvYWRlZDsKLSAgICB1aW50OF90IHNjdGRy MTsKLSAgICB1aW50OF90IHNjcmRyMTsKLSAgICAvKiBTZWNvbmQgc2VyaWFsIHBvcnQgKi8KLSAg ICBDaGFyRHJpdmVyU3RhdGUgKnNlcmlhbDI7Ci0gICAgdWludDE2X3Qgc2Nsc3IyOwotICAgIHVp bnQxNl90IHNjc2NyMjsKLSAgICB1aW50MTZfdCBzY2ZjcjI7Ci0gICAgdWludDE2X3Qgc2Nmc3Iy OwotICAgIHVpbnQxNl90IHNjc21yMjsKLSAgICB1aW50OF90IHNjYnJyMjsKLSAgICBmaWZvIHNl cmlhbDJfcmVjZWl2ZV9maWZvOwotICAgIGZpZm8gc2VyaWFsMl90cmFuc21pdF9maWZvOwogICAg IC8qIElPIHBvcnRzICovCiAgICAgdWludDE2X3QgZ3Bpb2ljOwogICAgIHVpbnQzMl90IHBjdHJh OwpAQCAtODQsMjYzICs1Niw2IEBAIHR5cGVkZWYgc3RydWN0IFNINzc1MFN0YXRlIHsKIAogfSBT SDc3NTBTdGF0ZTsKIAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSBGaXJzdCBzZXJpYWwgcG9ydAotKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKi8KLQotc3RhdGljIGludCBzZXJpYWwxX2Nhbl9yZWNlaXZlKHZvaWQgKm9wYXF1ZSkK LXsKLSAgICBTSDc3NTBTdGF0ZSAqcyA9IG9wYXF1ZTsKLQotICAgIHJldHVybiBzLT5zY3NjcjEg JiBTSDc3NTBfU0NTQ1JfUkU7Ci19Ci0KLXN0YXRpYyB2b2lkIHNlcmlhbDFfcmVjZWl2ZV9jaGFy KFNINzc1MFN0YXRlICogcywgdWludDhfdCBjKQotewotICAgIGlmIChzLT5zY3NzcjEgJiBTSDc3 NTBfU0NTU1IxX1JEUkYpIHsKLQlzLT5zY3NzcjEgfD0gU0g3NzUwX1NDU1NSMV9PUkVSOwotCXJl dHVybjsKLSAgICB9Ci0KLSAgICBzLT5zY3JkcjEgPSBjOwotICAgIHMtPnNjc3NyMSB8PSBTSDc3 NTBfU0NTU1IxX1JEUkY7Ci19Ci0KLXN0YXRpYyB2b2lkIHNlcmlhbDFfcmVjZWl2ZSh2b2lkICpv cGFxdWUsIGNvbnN0IHVpbnQ4X3QgKiBidWYsIGludCBzaXplKQotewotICAgIFNINzc1MFN0YXRl ICpzID0gb3BhcXVlOwotICAgIGludCBpOwotCi0gICAgZm9yIChpID0gMDsgaSA8IHNpemU7IGkr KykgewotCXNlcmlhbDFfcmVjZWl2ZV9jaGFyKHMsIGJ1ZltpXSk7Ci0gICAgfQotfQotCi1zdGF0 aWMgdm9pZCBzZXJpYWwxX2V2ZW50KHZvaWQgKm9wYXF1ZSwgaW50IGV2ZW50KQotewotICAgIGFz c2VydCgwKTsKLX0KLQotc3RhdGljIHZvaWQgc2VyaWFsMV9tYXliZV9zZW5kKFNINzc1MFN0YXRl ICogcykKLXsKLSAgICB1aW50OF90IGM7Ci0KLSAgICBpZiAocy0+c2Nzc3IxICYgU0g3NzUwX1ND U1NSMV9URFJFKQotCXJldHVybjsKLSAgICBjID0gcy0+c2N0ZHIxOwotICAgIHMtPnNjc3NyMSB8 PSBTSDc3NTBfU0NTU1IxX1REUkUgfCBTSDc3NTBfU0NTU1IxX1RFTkQ7Ci0gICAgaWYgKHMtPnNj c2NyMSAmIFNINzc1MF9TQ1NDUl9USUUpIHsKLQlmcHJpbnRmKHN0ZGVyciwgImludGVycnVwdHMg Zm9yIHNlcmlhbCBwb3J0IDEgbm90IGltcGxlbWVudGVkXG4iKTsKLQlhc3NlcnQoMCk7Ci0gICAg fQotICAgIC8qIFhYWFhYIENoZWNrIGZvciBlcnJvcnMgaW4gd3JpdGUgKi8KLSAgICBxZW11X2No cl93cml0ZShzLT5zZXJpYWwxLCAmYywgMSk7Ci19Ci0KLXN0YXRpYyB2b2lkIHNlcmlhbDFfY2hh bmdlX3Njc3NyMShTSDc3NTBTdGF0ZSAqIHMsIHVpbnQ4X3QgbWVtX3ZhbHVlKQotewotICAgIHVp bnQ4X3QgbmV3X2ZsYWdzOwotCi0gICAgLyogSWYgdHJhbnNtaXQgZGlzYWJsZSwgVERSRSBhbmQg VEVORCBzdGF5cyB1cCAqLwotICAgIGlmICgocy0+c2NzY3IxICYgU0g3NzUwX1NDU0NSX1RFKSA9 PSAwKSB7Ci0JbWVtX3ZhbHVlIHw9IFNINzc1MF9TQ1NTUjFfVERSRSB8IFNINzc1MF9TQ1NTUjFf VEVORDsKLSAgICB9Ci0KLSAgICAvKiBPbmx5IGNsZWFyIGJpdHMgd2hpY2ggaGF2ZSBiZWVuIHJl YWQgYmVmb3JlIGFuZCBkbyBub3Qgc2V0IGFueSBiaXQKLSAgICAgICBpbiB0aGUgZmxhZ3MgKi8K LSAgICBuZXdfZmxhZ3MgPSBzLT5zY3NzcjEgJiB+cy0+c2Nzc3IxX3JlYWQ7CS8qIFByZXNlcnZl IHVucmVhZCBmbGFncyAqLwotICAgIG5ld19mbGFncyAmPSBtZW1fdmFsdWUgfCB+cy0+c2Nzc3Ix X3JlYWQ7CS8qIENsZWFyIHJlYWQgZmxhZ3MgKi8KLQotICAgIHMtPnNjc3NyMSA9IChuZXdfZmxh Z3MgJiAweGY4KSB8IChtZW1fdmFsdWUgJiAxKTsKLSAgICBzLT5zY3NzcjFfcmVhZCAmPSBtZW1f dmFsdWU7Ci0KLSAgICAvKiBJZiBURFJFIGhhcyBiZWVuIGNsZWFyZWQsIFRFTkQgd2lsbCBhbHNv IGJlIGNsZWFyZWQgKi8KLSAgICBpZiAoKHMtPnNjc3NyMSAmIFNINzc1MF9TQ1NTUjFfVERSRSkg PT0gMCkgewotCXMtPnNjc3NyMSAmPSB+U0g3NzUwX1NDU1NSMV9URU5EOwotICAgIH0KLQotICAg IC8qIENoZWNrIGZvciB0cmFuc21pc3Npb24gdG8gc3RhcnQgKi8KLSAgICBzZXJpYWwxX21heWJl X3NlbmQocyk7Ci19Ci0KLXN0YXRpYyB2b2lkIHNlcmlhbDFfdXBkYXRlX3BhcmFtZXRlcnMoU0g3 NzUwU3RhdGUgKiBzKQotewotICAgIFFFTVVTZXJpYWxTZXRQYXJhbXMgc3NwOwotCi0gICAgaWYg KHMtPnNjc21yMSAmIFNINzc1MF9TQ1NNUl9DSFJfNykKLQlzc3AuZGF0YV9iaXRzID0gNzsKLSAg ICBlbHNlCi0Jc3NwLmRhdGFfYml0cyA9IDg7Ci0gICAgaWYgKHMtPnNjc21yMSAmIFNINzc1MF9T Q1NNUl9QRSkgewotCWlmIChzLT5zY3NtcjEgJiBTSDc3NTBfU0NTTVJfUE1fT0REKQotCSAgICBz c3AucGFyaXR5ID0gJ08nOwotCWVsc2UKLQkgICAgc3NwLnBhcml0eSA9ICdFJzsKLSAgICB9IGVs c2UKLQlzc3AucGFyaXR5ID0gJ04nOwotICAgIGlmIChzLT5zY3NtcjEgJiBTSDc3NTBfU0NTTVJf U1RPUF8yKQotCXNzcC5zdG9wX2JpdHMgPSAyOwotICAgIGVsc2UKLQlzc3Auc3RvcF9iaXRzID0g MTsKLSAgICBmcHJpbnRmKHN0ZGVyciwgIlNDU01SMT0lMDR4IFNDQlJSMT0lMDJ4XG4iLCBzLT5z Y3NtcjEsIHMtPnNjYnJyMSk7Ci0gICAgc3NwLnNwZWVkID0gcy0+cGVyaXBoX2ZyZXEgLwotCSgz MiAqIHMtPnNjYnJyMSAqICgxIDw8ICgyICogKHMtPnNjc21yMSAmIDMpKSkpIC0gMTsKLSAgICBm cHJpbnRmKHN0ZGVyciwgImRhdGEgYml0cz0lZCwgc3RvcCBiaXRzPSVkLCBwYXJpdHk9JWMsIHNw ZWVkPSVkXG4iLAotCSAgICBzc3AuZGF0YV9iaXRzLCBzc3Auc3RvcF9iaXRzLCBzc3AucGFyaXR5 LCBzc3Auc3BlZWQpOwotICAgIHFlbXVfY2hyX2lvY3RsKHMtPnNlcmlhbDEsIENIUl9JT0NUTF9T RVJJQUxfU0VUX1BBUkFNUywgJnNzcCk7Ci19Ci0KLXN0YXRpYyB2b2lkIHNjc2NyMV9jaGFuZ2Vk KFNINzc1MFN0YXRlICogcykKLXsKLSAgICBpZiAocy0+c2NzY3IxICYgKFNINzc1MF9TQ1NDUl9U RSB8IFNINzc1MF9TQ1NDUl9SRSkpIHsKLQlpZiAoIXMtPnNlcmlhbDEpIHsKLQkgICAgZnByaW50 ZihzdGRlcnIsICJzZXJpYWwgcG9ydCAxIG5vdCBib3VuZCB0byBhbnl0aGluZ1xuIik7Ci0JICAg IGFzc2VydCgwKTsKLQl9Ci0Jc2VyaWFsMV91cGRhdGVfcGFyYW1ldGVycyhzKTsKLSAgICB9Ci0g ICAgaWYgKChzLT5zY3NjcjEgJiBTSDc3NTBfU0NTQ1JfUkUpID09IDApIHsKLQlzLT5zY3NzcjEg fD0gU0g3NzUwX1NDU1NSMV9URFJFOwotICAgIH0KLX0KLQotc3RhdGljIHZvaWQgaW5pdF9zZXJp YWwxKFNINzc1MFN0YXRlICogcywgaW50IHNlcmlhbF9uYikKLXsKLSAgICBDaGFyRHJpdmVyU3Rh dGUgKmNocjsKLQotICAgIHMtPnNjc3NyMSA9IDB4ODQ7Ci0gICAgY2hyID0gc2VyaWFsX2hkc1tz ZXJpYWxfbmJdOwotICAgIGlmICghY2hyKSB7Ci0JZnByaW50ZihzdGRlcnIsCi0JCSJubyBzZXJp YWwgcG9ydCBhc3NvY2lhdGVkIHRvIFNINzc1MCBmaXJzdCBzZXJpYWwgcG9ydFxuIik7Ci0JcmV0 dXJuOwotICAgIH0KLQotICAgIHMtPnNlcmlhbDEgPSBjaHI7Ci0gICAgcWVtdV9jaHJfYWRkX2hh bmRsZXJzKGNociwgc2VyaWFsMV9jYW5fcmVjZWl2ZSwKLQkJCSAgc2VyaWFsMV9yZWNlaXZlLCBz ZXJpYWwxX2V2ZW50LCBzKTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSBTZWNvbmQgc2VyaWFsIHBv cnQKLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKiovCi0KLXN0YXRpYyBpbnQgc2VyaWFsMl9jYW5fcmVjZWl2ZSh2b2lk ICpvcGFxdWUpCi17Ci0gICAgU0g3NzUwU3RhdGUgKnMgPSBvcGFxdWU7Ci0gICAgc3RhdGljIHVp bnQ4X3QgbWF4X2ZpZm9fc2l6ZVtdID0geyAxNSwgMSwgNCwgNiwgOCwgMTAsIDEyLCAxNCB9Owot Ci0gICAgcmV0dXJuIHMtPnNlcmlhbDJfcmVjZWl2ZV9maWZvLmxlbmd0aCA8Ci0JbWF4X2ZpZm9f c2l6ZVsocy0+c2NmY3IyID4+IDkpICYgN107Ci19Ci0KLXN0YXRpYyB2b2lkIHNlcmlhbDJfYWRq dXN0X3JlY2VpdmVfZmxhZ3MoU0g3NzUwU3RhdGUgKiBzKQotewotICAgIHN0YXRpYyB1aW50OF90 IG1heF9maWZvX3NpemVbXSA9IHsgMSwgNCwgOCwgMTQgfTsKLQotICAgIC8qIFhYWFhYIEFkZCBp bnRlcnJ1cHQgZ2VuZXJhdGlvbiAqLwotICAgIGlmIChzLT5zZXJpYWwyX3JlY2VpdmVfZmlmby5s ZW5ndGggPj0KLQltYXhfZmlmb19zaXplWyhzLT5zY2ZjcjIgPj4gNykgJiAzXSkgewotCXMtPnNj ZnNyMiB8PSBTSDc3NTBfU0NGU1IyX1JERjsKLQlzLT5zY2ZzcjIgJj0gflNINzc1MF9TQ0ZTUjJf RFI7Ci0gICAgfSBlbHNlIHsKLQlzLT5zY2ZzcjIgJj0gflNINzc1MF9TQ0ZTUjJfUkRGOwotCWlm IChzLT5zZXJpYWwyX3JlY2VpdmVfZmlmby5sZW5ndGggPiAwKQotCSAgICBzLT5zY2ZzcjIgfD0g U0g3NzUwX1NDRlNSMl9EUjsKLQllbHNlCi0JICAgIHMtPnNjZnNyMiAmPSB+U0g3NzUwX1NDRlNS Ml9EUjsKLSAgICB9Ci19Ci0KLXN0YXRpYyB2b2lkIHNlcmlhbDJfYXBwZW5kX2NoYXIoU0g3NzUw U3RhdGUgKiBzLCB1aW50OF90IGMpCi17Ci0gICAgaWYgKHMtPnNlcmlhbDJfcmVjZWl2ZV9maWZv Lmxlbmd0aCA9PSAxNikgewotCS8qIE92ZXJmbG93ICovCi0Jcy0+c2Nsc3IyIHw9IFNINzc1MF9T Q0xTUjJfT1JFUjsKLQlyZXR1cm47Ci0gICAgfQotCi0gICAgcy0+c2VyaWFsMl9yZWNlaXZlX2Zp Zm8uZGF0YVtzLT5zZXJpYWwyX3JlY2VpdmVfZmlmby53cml0ZV9pZHgrK10gPSBjOwotICAgIHMt PnNlcmlhbDJfcmVjZWl2ZV9maWZvLmxlbmd0aCsrOwotICAgIHNlcmlhbDJfYWRqdXN0X3JlY2Vp dmVfZmxhZ3Mocyk7Ci19Ci0KLXN0YXRpYyB2b2lkIHNlcmlhbDJfcmVjZWl2ZSh2b2lkICpvcGFx dWUsIGNvbnN0IHVpbnQ4X3QgKiBidWYsIGludCBzaXplKQotewotICAgIFNINzc1MFN0YXRlICpz ID0gb3BhcXVlOwotICAgIGludCBpOwotCi0gICAgZm9yIChpID0gMDsgaSA8IHNpemU7IGkrKykK LQlzZXJpYWwyX2FwcGVuZF9jaGFyKHMsIGJ1ZltpXSk7Ci19Ci0KLXN0YXRpYyB2b2lkIHNlcmlh bDJfZXZlbnQodm9pZCAqb3BhcXVlLCBpbnQgZXZlbnQpCi17Ci0gICAgLyogWFhYWFggKi8KLSAg ICBhc3NlcnQoMCk7Ci19Ci0KLXN0YXRpYyB2b2lkIHNlcmlhbDJfdXBkYXRlX3BhcmFtZXRlcnMo U0g3NzUwU3RhdGUgKiBzKQotewotICAgIFFFTVVTZXJpYWxTZXRQYXJhbXMgc3NwOwotCi0gICAg aWYgKHMtPnNjc21yMiAmIFNINzc1MF9TQ1NNUl9DSFJfNykKLQlzc3AuZGF0YV9iaXRzID0gNzsK LSAgICBlbHNlCi0Jc3NwLmRhdGFfYml0cyA9IDg7Ci0gICAgaWYgKHMtPnNjc21yMiAmIFNINzc1 MF9TQ1NNUl9QRSkgewotCWlmIChzLT5zY3NtcjIgJiBTSDc3NTBfU0NTTVJfUE1fT0REKQotCSAg ICBzc3AucGFyaXR5ID0gJ08nOwotCWVsc2UKLQkgICAgc3NwLnBhcml0eSA9ICdFJzsKLSAgICB9 IGVsc2UKLQlzc3AucGFyaXR5ID0gJ04nOwotICAgIGlmIChzLT5zY3NtcjIgJiBTSDc3NTBfU0NT TVJfU1RPUF8yKQotCXNzcC5zdG9wX2JpdHMgPSAyOwotICAgIGVsc2UKLQlzc3Auc3RvcF9iaXRz ID0gMTsKLSAgICBmcHJpbnRmKHN0ZGVyciwgIlNDU01SMj0lMDR4IFNDQlJSMj0lMDJ4XG4iLCBz LT5zY3NtcjIsIHMtPnNjYnJyMik7Ci0gICAgc3NwLnNwZWVkID0gcy0+cGVyaXBoX2ZyZXEgLwot CSgzMiAqIHMtPnNjYnJyMiAqICgxIDw8ICgyICogKHMtPnNjc21yMiAmIDMpKSkpIC0gMTsKLSAg ICBmcHJpbnRmKHN0ZGVyciwgImRhdGEgYml0cz0lZCwgc3RvcCBiaXRzPSVkLCBwYXJpdHk9JWMs IHNwZWVkPSVkXG4iLAotCSAgICBzc3AuZGF0YV9iaXRzLCBzc3Auc3RvcF9iaXRzLCBzc3AucGFy aXR5LCBzc3Auc3BlZWQpOwotICAgIHFlbXVfY2hyX2lvY3RsKHMtPnNlcmlhbDIsIENIUl9JT0NU TF9TRVJJQUxfU0VUX1BBUkFNUywgJnNzcCk7Ci19Ci0KLXN0YXRpYyB2b2lkIHNjc2NyMl9jaGFu Z2VkKFNINzc1MFN0YXRlICogcykKLXsKLSAgICBpZiAocy0+c2NzY3IyICYgKFNINzc1MF9TQ1ND Ul9URSB8IFNINzc1MF9TQ1NDUl9SRSkpIHsKLQlpZiAoIXMtPnNlcmlhbDIpIHsKLQkgICAgZnBy aW50ZihzdGRlcnIsICJzZXJpYWwgcG9ydCAyIG5vdCBib3VuZCB0byBhbnl0aGluZ1xuIik7Ci0J ICAgIGFzc2VydCgwKTsKLQl9Ci0Jc2VyaWFsMl91cGRhdGVfcGFyYW1ldGVycyhzKTsKLSAgICB9 Ci19Ci0KLXN0YXRpYyB2b2lkIGluaXRfc2VyaWFsMihTSDc3NTBTdGF0ZSAqIHMsIGludCBzZXJp YWxfbmIpCi17Ci0gICAgQ2hhckRyaXZlclN0YXRlICpjaHI7Ci0KLSAgICBzLT5zY2ZzcjIgPSAw eDAwNjA7Ci0KLSAgICBjaHIgPSBzZXJpYWxfaGRzW3NlcmlhbF9uYl07Ci0gICAgaWYgKCFjaHIp IHsKLQlmcHJpbnRmKHN0ZGVyciwKLQkJIm5vIHNlcmlhbCBwb3J0IGFzc29jaWF0ZWQgdG8gU0g3 NzUwIHNlY29uZCBzZXJpYWwgcG9ydFxuIik7Ci0JcmV0dXJuOwotICAgIH0KLQotICAgIHMtPnNl cmlhbDIgPSBjaHI7Ci0gICAgcWVtdV9jaHJfYWRkX2hhbmRsZXJzKGNociwgc2VyaWFsMl9jYW5f cmVjZWl2ZSwKLQkJCSAgc2VyaWFsMl9yZWNlaXZlLCBzZXJpYWwxX2V2ZW50LCBzKTsKLX0KLQot c3RhdGljIHZvaWQgaW5pdF9zZXJpYWxfcG9ydHMoU0g3NzUwU3RhdGUgKiBzKQotewotICAgIGlu aXRfc2VyaWFsMShzLCAwKTsKLSAgICBpbml0X3NlcmlhbDIocywgMSk7Ci19CiAKIC8qKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqCiAgSS9PIHBvcnRzCkBAIC00NzIsMTcgKzE4Nyw3IEBAIHN0YXRpYyB2b2lkIGlnbm9y ZV9hY2Nlc3MoY29uc3QgY2hhciAqa2kKIAogc3RhdGljIHVpbnQzMl90IHNoNzc1MF9tZW1fcmVh ZGIodm9pZCAqb3BhcXVlLCB0YXJnZXRfcGh5c19hZGRyX3QgYWRkcikKIHsKLSAgICBTSDc3NTBT dGF0ZSAqcyA9IG9wYXF1ZTsKLSAgICB1aW50OF90IHI7Ci0KICAgICBzd2l0Y2ggKGFkZHIpIHsK LSAgICBjYXNlIFNINzc1MF9TQ1NTUjFfQTc6Ci0JciA9IHMtPnNjc3NyMTsKLQlzLT5zY3NzcjFf cmVhZCB8PSByOwotCXJldHVybiBzLT5zY3NzcjE7Ci0gICAgY2FzZSBTSDc3NTBfU0NSRFIxX0E3 OgotCXMtPnNjc3NyMSAmPSB+U0g3NzUwX1NDU1NSMV9SRFJGOwotCXJldHVybiBzLT5zY3JkcjE7 CiAgICAgZGVmYXVsdDoKIAllcnJvcl9hY2Nlc3MoImJ5dGUgcmVhZCIsIGFkZHIpOwogCWFzc2Vy dCgwKTsKQEAgLTQ5MiwyMCArMTk3LDEyIEBAIHN0YXRpYyB1aW50MzJfdCBzaDc3NTBfbWVtX3Jl YWRiKHZvaWQgKm8KIHN0YXRpYyB1aW50MzJfdCBzaDc3NTBfbWVtX3JlYWR3KHZvaWQgKm9wYXF1 ZSwgdGFyZ2V0X3BoeXNfYWRkcl90IGFkZHIpCiB7CiAgICAgU0g3NzUwU3RhdGUgKnMgPSBvcGFx dWU7Ci0gICAgdWludDE2X3QgcjsKIAogICAgIHN3aXRjaCAoYWRkcikgewogICAgIGNhc2UgU0g3 NzUwX1JGQ1JfQTc6CiAJZnByaW50ZihzdGRlcnIsCiAJCSJSZWFkIGFjY2VzcyB0byByZWZyZXNo IGNvdW50IHJlZ2lzdGVyLCBpbmNyZW1lbnRpbmdcbiIpOwogCXJldHVybiBzLT5yZmNyKys7Ci0g ICAgY2FzZSBTSDc3NTBfU0NMU1IyX0E3OgotCS8qIFJlYWQgYW5kIGNsZWFyIG92ZXJmbG93IGJp dCAqLwotCXIgPSBzLT5zY2xzcjI7Ci0Jcy0+c2Nsc3IyID0gMDsKLQlyZXR1cm4gcjsKLSAgICBj YXNlIFNINzc1MF9TQ1NGUjJfQTc6Ci0JcmV0dXJuIHMtPnNjZnNyMjsKICAgICBjYXNlIFNINzc1 MF9QRFRSQV9BNzoKIAlyZXR1cm4gcG9ydGFfbGluZXMocyk7CiAgICAgY2FzZSBTSDc3NTBfUERU UkJfQTc6CkBAIC01NTQsMzQgKzI1MSwxMiBAQCBzdGF0aWMgdWludDMyX3Qgc2g3NzUwX21lbV9y ZWFkbCh2b2lkICpvCiBzdGF0aWMgdm9pZCBzaDc3NTBfbWVtX3dyaXRlYih2b2lkICpvcGFxdWUs IHRhcmdldF9waHlzX2FkZHJfdCBhZGRyLAogCQkJICAgICAgdWludDMyX3QgbWVtX3ZhbHVlKQog ewotICAgIFNINzc1MFN0YXRlICpzID0gb3BhcXVlOwotCiAgICAgc3dpdGNoIChhZGRyKSB7CiAJ LyogUFJFQ0hBUkdFID8gWFhYWFggKi8KICAgICBjYXNlIFNINzc1MF9QUkVDSEFSR0UwX0E3Ogog ICAgIGNhc2UgU0g3NzUwX1BSRUNIQVJHRTFfQTc6CiAJaWdub3JlX2FjY2VzcygiYnl0ZSB3cml0 ZSIsIGFkZHIpOwogCXJldHVybjsKLSAgICBjYXNlIFNINzc1MF9TQ0JSUjJfQTc6Ci0Jcy0+c2Ni cnIyID0gbWVtX3ZhbHVlOwotCXJldHVybjsKLSAgICBjYXNlIFNINzc1MF9TQ1NDUjFfQTc6Ci0J cy0+c2NzY3IxID0gbWVtX3ZhbHVlOwotCXNjc2NyMV9jaGFuZ2VkKHMpOwotCXJldHVybjsKLSAg ICBjYXNlIFNINzc1MF9TQ1NNUjFfQTc6Ci0Jcy0+c2NzbXIxID0gbWVtX3ZhbHVlOwotCXJldHVy bjsKLSAgICBjYXNlIFNINzc1MF9TQ0JSUjFfQTc6Ci0Jcy0+c2NicnIxID0gbWVtX3ZhbHVlOwot CXJldHVybjsKLSAgICBjYXNlIFNINzc1MF9TQ1REUjFfQTc6Ci0Jcy0+c2Nzc3IxICY9IH5TSDc3 NTBfU0NTU1IxX1RFTkQ7Ci0Jcy0+c2N0ZHIxID0gbWVtX3ZhbHVlOwotCXJldHVybjsKLSAgICBj YXNlIFNINzc1MF9TQ1NTUjFfQTc6Ci0Jc2VyaWFsMV9jaGFuZ2Vfc2Nzc3IxKHMsIG1lbV92YWx1 ZSk7Ci0JcmV0dXJuOwogICAgIGRlZmF1bHQ6CiAJZXJyb3JfYWNjZXNzKCJieXRlIHdyaXRlIiwg YWRkcik7CiAJYXNzZXJ0KDApOwpAQCAtNTk2LDggKzI3MSw2IEBAIHN0YXRpYyB2b2lkIHNoNzc1 MF9tZW1fd3JpdGV3KHZvaWQgKm9wYXEKIAogICAgIHN3aXRjaCAoYWRkcikgewogCS8qIFNEUkFN IGNvbnRyb2xsZXIgKi8KLSAgICBjYXNlIFNINzc1MF9TQ0JSUjFfQTc6Ci0gICAgY2FzZSBTSDc3 NTBfU0NCUlIyX0E3OgogICAgIGNhc2UgU0g3NzUwX0JDUjJfQTc6CiAgICAgY2FzZSBTSDc3NTBf QkNSM19BNzoKICAgICBjYXNlIFNINzc1MF9SVENPUl9BNzoKQEAgLTYyMCwxOSArMjkzLDYgQEAg c3RhdGljIHZvaWQgc2g3NzUwX21lbV93cml0ZXcodm9pZCAqb3BhcQogCWZwcmludGYoc3RkZXJy LCAiV3JpdGUgYWNjZXNzIHRvIHJlZnJlc2ggY291bnQgcmVnaXN0ZXJcbiIpOwogCXMtPnJmY3Ig PSBtZW1fdmFsdWU7CiAJcmV0dXJuOwotICAgIGNhc2UgU0g3NzUwX1NDTFNSMl9BNzoKLQlzLT5z Y2xzcjIgPSBtZW1fdmFsdWU7Ci0JcmV0dXJuOwotICAgIGNhc2UgU0g3NzUwX1NDU0NSMl9BNzoK LQlzLT5zY3NjcjIgPSBtZW1fdmFsdWU7Ci0Jc2NzY3IyX2NoYW5nZWQocyk7Ci0JcmV0dXJuOwot ICAgIGNhc2UgU0g3NzUwX1NDRkNSMl9BNzoKLQlzLT5zY2ZjcjIgPSBtZW1fdmFsdWU7Ci0JcmV0 dXJuOwotICAgIGNhc2UgU0g3NzUwX1NDU01SMl9BNzoKLQlzLT5zY3NtcjIgPSBtZW1fdmFsdWU7 Ci0JcmV0dXJuOwogICAgIGNhc2UgU0g3NzUwX0dQSU9JQ19BNzoKIAlzLT5ncGlvaWMgPSBtZW1f dmFsdWU7CiAJaWYgKG1lbV92YWx1ZSAhPSAwKSB7CkBAIC03MzQsNyArMzk0LDEwIEBAIFNINzc1 MFN0YXRlICpzaDc3NTBfaW5pdChDUFVTSDRTdGF0ZSAqIGMKIAkJCQkJICAgICAgc2g3NzUwX21l bV9yZWFkLAogCQkJCQkgICAgICBzaDc3NTBfbWVtX3dyaXRlLCBzKTsKICAgICBjcHVfcmVnaXN0 ZXJfcGh5c2ljYWxfbWVtb3J5KDB4MWMwMDAwMDAsIDB4MDQwMDAwMDAsIHNoNzc1MF9pb19tZW1v cnkpOwotICAgIGluaXRfc2VyaWFsX3BvcnRzKHMpOworCisgICAgc2hfc2VyaWFsX2luaXQoMHgx ZmUwMDAwMCwgMCwgcy0+cGVyaXBoX2ZyZXEsIHNlcmlhbF9oZHNbMF0pOworICAgIHNoX3Nlcmlh bF9pbml0KDB4MWZlODAwMDAsIFNIX1NFUklBTF9GRUFUX1NDSUYsIAorCQkgICBzLT5wZXJpcGhf ZnJlcSwgc2VyaWFsX2hkc1sxXSk7CiAKICAgICB0bXUwMTJfaW5pdCgweDFmZDgwMDAwLAogCQlU TVUwMTJfRkVBVF9UT0NSIHwgVE1VMDEyX0ZFQVRfM0NIQU4gfCBUTVUwMTJfRkVBVF9FWFRDTEss Ci0tLSAwMDAzL2h3L3NoNzc1MF9yZWduYW1lcy5jCisrKyB3b3JrL2h3L3NoNzc1MF9yZWduYW1l cy5jCTIwMDctMDktMjggMTU6MDQ6NDEuMDAwMDAwMDAwICswOTAwCkBAIC03MCwyNCArNzAsNiBA QCBzdGF0aWMgcmVnbmFtZV90IHJlZ25hbWVzW10gPSB7CiAJUkVHTkFNRShTSDc3NTBfQ0hDUjJf QTcpCiAJUkVHTkFNRShTSDc3NTBfQ0hDUjNfQTcpCiAJUkVHTkFNRShTSDc3NTBfRE1BT1JfQTcp Ci0JUkVHTkFNRShTSDc3NTBfU0NSRFIxX0E3KQotCVJFR05BTUUoU0g3NzUwX1NDUkRSMl9BNykK LQlSRUdOQU1FKFNINzc1MF9TQ1REUjFfQTcpCi0JUkVHTkFNRShTSDc3NTBfU0NURFIyX0E3KQot CVJFR05BTUUoU0g3NzUwX1NDU01SMV9BNykKLQlSRUdOQU1FKFNINzc1MF9TQ1NNUjJfQTcpCi0J UkVHTkFNRShTSDc3NTBfU0NTQ1IxX0E3KQotCVJFR05BTUUoU0g3NzUwX1NDU0NSMl9BNykKLQlS RUdOQU1FKFNINzc1MF9TQ1NTUjFfQTcpCi0JUkVHTkFNRShTSDc3NTBfU0NTRlIyX0E3KQotCVJF R05BTUUoU0g3NzUwX1NDU1BUUjFfQTcpCi0JUkVHTkFNRShTSDc3NTBfU0NTUFRSMl9BNykKLQlS RUdOQU1FKFNINzc1MF9TQ0JSUjFfQTcpCi0JUkVHTkFNRShTSDc3NTBfU0NCUlIyX0E3KQotCVJF R05BTUUoU0g3NzUwX1NDRkNSMl9BNykKLQlSRUdOQU1FKFNINzc1MF9TQ0ZEUjJfQTcpCi0JUkVH TkFNRShTSDc3NTBfU0NMU1IyX0E3KQotCVJFR05BTUUoU0g3NzUwX1NDU0NNUjFfQTcpCiAJUkVH TkFNRShTSDc3NTBfUENUUkFfQTcpCiAJUkVHTkFNRShTSDc3NTBfUERUUkFfQTcpCiAJUkVHTkFN RShTSDc3NTBfUENUUkJfQTcpCi0tLSAwMDAzL2h3L3NoNzc1MF9yZWdzLmgKKysrIHdvcmsvaHcv c2g3NzUwX3JlZ3MuaAkyMDA3LTA5LTI4IDE1OjA0OjQxLjAwMDAwMDAwMCArMDkwMApAQCAtMTE2 OSwyMzEgKzExNjksNiBAQAogI2RlZmluZSBTSDc3NTBfRE1BT1JfRE1FICAgICAgMHgwMDAwMDAw MQkvKiBETUFDIE1hc3RlciBFbmFibGUgKi8KIAogLyoKLSAqIFNlcmlhbCBDb21tdW5pY2F0aW9u IEludGVyZmFjZSAtIFNDSQotICogU2VyaWFsIENvbW11bmljYXRpb24gSW50ZXJmYWNlIHdpdGgg RklGTyAtIFNDSUYKLSAqLwotLyogU0NJIFJlY2VpdmUgRGF0YSBSZWdpc3RlciAoYnl0ZSwgcmVh ZC1vbmx5KSAtIFNDUkRSMSwgU0NGUkRSMiAqLwotI2RlZmluZSBTSDc3NTBfU0NSRFJfUkVHT0ZT KG4pICgobikgPT0gMSA/IDB4RTAwMDE0IDogMHhFODAwMTQpCS8qIG9mZnNldCAqLwotI2RlZmlu ZSBTSDc3NTBfU0NSRFIobikgICAgICAgU0g3NzUwX1A0X1JFRzMyKFNINzc1MF9TQ1JEUl9SRUdP RlMobikpCi0jZGVmaW5lIFNINzc1MF9TQ1JEUjEgICAgICAgICBTSDc3NTBfU0NSRFIoMSkKLSNk ZWZpbmUgU0g3NzUwX1NDUkRSMiAgICAgICAgIFNINzc1MF9TQ1JEUigyKQotI2RlZmluZSBTSDc3 NTBfU0NSRFJfQTcobikgICAgU0g3NzUwX0E3X1JFRzMyKFNINzc1MF9TQ1JEUl9SRUdPRlMobikp Ci0jZGVmaW5lIFNINzc1MF9TQ1JEUjFfQTcgICAgICBTSDc3NTBfU0NSRFJfQTcoMSkKLSNkZWZp bmUgU0g3NzUwX1NDUkRSMl9BNyAgICAgIFNINzc1MF9TQ1JEUl9BNygyKQotCi0vKiBTQ0kgVHJh bnNtaXQgRGF0YSBSZWdpc3RlciAoYnl0ZSkgLSBTQ1REUjEsIFNDRlREUjIgKi8KLSNkZWZpbmUg U0g3NzUwX1NDVERSX1JFR09GUyhuKSAoKG4pID09IDEgPyAweEUwMDAwQyA6IDB4RTgwMDBDKQkv KiBvZmZzZXQgKi8KLSNkZWZpbmUgU0g3NzUwX1NDVERSKG4pICAgICAgIFNINzc1MF9QNF9SRUcz MihTSDc3NTBfU0NURFJfUkVHT0ZTKG4pKQotI2RlZmluZSBTSDc3NTBfU0NURFIxICAgICAgICAg U0g3NzUwX1NDVERSKDEpCi0jZGVmaW5lIFNINzc1MF9TQ1REUjIgICAgICAgICBTSDc3NTBfU0NU RFIoMikKLSNkZWZpbmUgU0g3NzUwX1NDVERSX0E3KG4pICAgIFNINzc1MF9BN19SRUczMihTSDc3 NTBfU0NURFJfUkVHT0ZTKG4pKQotI2RlZmluZSBTSDc3NTBfU0NURFIxX0E3ICAgICAgU0g3NzUw X1NDVERSX0E3KDEpCi0jZGVmaW5lIFNINzc1MF9TQ1REUjJfQTcgICAgICBTSDc3NTBfU0NURFJf QTcoMikKLQotLyogU0NJIFNlcmlhbCBNb2RlIFJlZ2lzdGVyIC0gU0NTTVIxKGJ5dGUpLCBTQ1NN UjIoaGFsZikgKi8KLSNkZWZpbmUgU0g3NzUwX1NDU01SX1JFR09GUyhuKSAoKG4pID09IDEgPyAw eEUwMDAwMCA6IDB4RTgwMDAwKQkvKiBvZmZzZXQgKi8KLSNkZWZpbmUgU0g3NzUwX1NDU01SKG4p ICAgICAgIFNINzc1MF9QNF9SRUczMihTSDc3NTBfU0NTTVJfUkVHT0ZTKG4pKQotI2RlZmluZSBT SDc3NTBfU0NTTVIxICAgICAgICAgU0g3NzUwX1NDU01SKDEpCi0jZGVmaW5lIFNINzc1MF9TQ1NN UjIgICAgICAgICBTSDc3NTBfU0NTTVIoMikKLSNkZWZpbmUgU0g3NzUwX1NDU01SX0E3KG4pICAg IFNINzc1MF9BN19SRUczMihTSDc3NTBfU0NTTVJfUkVHT0ZTKG4pKQotI2RlZmluZSBTSDc3NTBf U0NTTVIxX0E3ICAgICAgU0g3NzUwX1NDU01SX0E3KDEpCi0jZGVmaW5lIFNINzc1MF9TQ1NNUjJf QTcgICAgICBTSDc3NTBfU0NTTVJfQTcoMikKLQotI2RlZmluZSBTSDc3NTBfU0NTTVIxX0NBICAg ICAgIDB4ODAJLyogQ29tbXVuaWNhdGlvbiBNb2RlIChDL0FcKTogKi8KLSNkZWZpbmUgU0g3NzUw X1NDU01SMV9DQV9BU1lOQyAweDAwCS8qICAgICBBc3luY2hyb25vdXMgTW9kZSAqLwotI2RlZmlu ZSBTSDc3NTBfU0NTTVIxX0NBX1NZTkMgIDB4ODAJLyogICAgIFN5bmNocm9ub3VzIE1vZGUgKi8K LSNkZWZpbmUgU0g3NzUwX1NDU01SX0NIUiAgICAgICAweDQwCS8qIENoYXJhY3RlciBMZW5ndGg6 ICovCi0jZGVmaW5lIFNINzc1MF9TQ1NNUl9DSFJfOCAgICAgMHgwMAkvKiAgICAgOC1iaXQgZGF0 YSAqLwotI2RlZmluZSBTSDc3NTBfU0NTTVJfQ0hSXzcgICAgIDB4NDAJLyogICAgIDctYml0IGRh dGEgKi8KLSNkZWZpbmUgU0g3NzUwX1NDU01SX1BFICAgICAgICAweDIwCS8qIFBhcml0eSBFbmFi bGUgKi8KLSNkZWZpbmUgU0g3NzUwX1NDU01SX1BNICAgICAgICAweDEwCS8qIFBhcml0eSBNb2Rl OiAqLwotI2RlZmluZSBTSDc3NTBfU0NTTVJfUE1fRVZFTiAgIDB4MDAJLyogICAgIEV2ZW4gUGFy aXR5ICovCi0jZGVmaW5lIFNINzc1MF9TQ1NNUl9QTV9PREQgICAgMHgxMAkvKiAgICAgT2RkIFBh cml0eSAqLwotI2RlZmluZSBTSDc3NTBfU0NTTVJfU1RPUCAgICAgIDB4MDgJLyogU3RvcCBCaXQg TGVuZ3RoOiAqLwotI2RlZmluZSBTSDc3NTBfU0NTTVJfU1RPUF8xICAgIDB4MDAJLyogICAgIDEg c3RvcCBiaXQgKi8KLSNkZWZpbmUgU0g3NzUwX1NDU01SX1NUT1BfMiAgICAweDA4CS8qICAgICAy IHN0b3AgYml0ICovCi0jZGVmaW5lIFNINzc1MF9TQ1NNUjFfTVAgICAgICAgMHgwNAkvKiBNdWx0 aXByb2Nlc3NvciBNb2RlICovCi0jZGVmaW5lIFNINzc1MF9TQ1NNUl9DS1MgICAgICAgMHgwMwkv KiBDbG9jayBTZWxlY3QgKi8KLSNkZWZpbmUgU0g3NzUwX1NDU01SX0NLU19TICAgICAwCi0jZGVm aW5lIFNINzc1MF9TQ1NNUl9DS1NfRElWMSAgMHgwMAkvKiAgICAgUGVyaXBoIGNsb2NrICovCi0j ZGVmaW5lIFNINzc1MF9TQ1NNUl9DS1NfRElWNCAgMHgwMQkvKiAgICAgUGVyaXBoIGNsb2NrIC8g NCAqLwotI2RlZmluZSBTSDc3NTBfU0NTTVJfQ0tTX0RJVjE2IDB4MDIJLyogICAgIFBlcmlwaCBj bG9jayAvIDE2ICovCi0jZGVmaW5lIFNINzc1MF9TQ1NNUl9DS1NfRElWNjQgMHgwMwkvKiAgICAg UGVyaXBoIGNsb2NrIC8gNjQgKi8KLQotLyogU0NJIFNlcmlhbCBDb250cm9sIFJlZ2lzdGVyIC0g U0NTQ1IxKGJ5dGUpLCBTQ1NDUjIoaGFsZikgKi8KLSNkZWZpbmUgU0g3NzUwX1NDU0NSX1JFR09G UyhuKSAoKG4pID09IDEgPyAweEUwMDAwOCA6IDB4RTgwMDA4KQkvKiBvZmZzZXQgKi8KLSNkZWZp bmUgU0g3NzUwX1NDU0NSKG4pICAgICAgIFNINzc1MF9QNF9SRUczMihTSDc3NTBfU0NTQ1JfUkVH T0ZTKG4pKQotI2RlZmluZSBTSDc3NTBfU0NTQ1IxICAgICAgICAgU0g3NzUwX1NDU0NSKDEpCi0j ZGVmaW5lIFNINzc1MF9TQ1NDUjIgICAgICAgICBTSDc3NTBfU0NTQ1IoMikKLSNkZWZpbmUgU0g3 NzUwX1NDU0NSX0E3KG4pICAgIFNINzc1MF9BN19SRUczMihTSDc3NTBfU0NTQ1JfUkVHT0ZTKG4p KQotI2RlZmluZSBTSDc3NTBfU0NTQ1IxX0E3ICAgICAgU0g3NzUwX1NDU0NSX0E3KDEpCi0jZGVm aW5lIFNINzc1MF9TQ1NDUjJfQTcgICAgICBTSDc3NTBfU0NTQ1JfQTcoMikKLQotI2RlZmluZSBT SDc3NTBfU0NTQ1JfVElFICAgICAgMHg4MAkvKiBUcmFuc21pdCBJbnRlcnJ1cHQgRW5hYmxlICov Ci0jZGVmaW5lIFNINzc1MF9TQ1NDUl9SSUUgICAgICAweDQwCS8qIFJlY2VpdmUgSW50ZXJydXB0 IEVuYWJsZSAqLwotI2RlZmluZSBTSDc3NTBfU0NTQ1JfVEUgICAgICAgMHgyMAkvKiBUcmFuc21p dCBFbmFibGUgKi8KLSNkZWZpbmUgU0g3NzUwX1NDU0NSX1JFICAgICAgIDB4MTAJLyogUmVjZWl2 ZSBFbmFibGUgKi8KLSNkZWZpbmUgU0g3NzUwX1NDU0NSMV9NUElFICAgIDB4MDgJLyogTXVsdGlw cm9jZXNzb3IgSW50ZXJydXB0IEVuYWJsZSAqLwotI2RlZmluZSBTSDc3NTBfU0NTQ1IyX1JFSUUg ICAgMHgwOAkvKiBSZWNlaXZlIEVycm9yIEludGVycnVwdCBFbmFibGUgKi8KLSNkZWZpbmUgU0g3 NzUwX1NDU0NSMV9URUlFICAgIDB4MDQJLyogVHJhbnNtaXQgRW5kIEludGVycnVwdCBFbmFibGUg Ki8KLSNkZWZpbmUgU0g3NzUwX1NDU0NSMV9DS0UgICAgIDB4MDMJLyogQ2xvY2sgRW5hYmxlOiAq LwotI2RlZmluZSBTSDc3NTBfU0NTQ1JfQ0tFX0lOVENMSyAgICAgICAgICAgIDB4MDAJLyogVXNl IEludGVybmFsIENsb2NrICovCi0jZGVmaW5lIFNINzc1MF9TQ1NDUl9DS0VfRVhUQ0xLICAgICAg ICAgICAgMHgwMgkvKiBVc2UgRXh0ZXJuYWwgQ2xvY2sgZnJvbSBTQ0sgKi8KLSNkZWZpbmUgU0g3 NzUwX1NDU0NSMV9DS0VfQVNZTkNfU0NLX0NMS09VVCAweDAxCS8qIFVzZSBTQ0sgYXMgYSBjbG9j ayBvdXRwdXQKLQkJCQkJCSAgIGluIGFzeW5jaHJvbm91cyBtb2RlICovCi0KLS8qIFNDSSBTZXJp YWwgU3RhdHVzIFJlZ2lzdGVyIC0gU0NTU1IxKGJ5dGUpLCBTQ1NGUjIoaGFsZikgKi8KLSNkZWZp bmUgU0g3NzUwX1NDU1NSX1JFR09GUyhuKSAoKG4pID09IDEgPyAweEUwMDAxMCA6IDB4RTgwMDEw KQkvKiBvZmZzZXQgKi8KLSNkZWZpbmUgU0g3NzUwX1NDU1NSKG4pICAgICAgIFNINzc1MF9QNF9S RUczMihTSDc3NTBfU0NTU1JfUkVHT0ZTKG4pKQotI2RlZmluZSBTSDc3NTBfU0NTU1IxICAgICAg ICAgU0g3NzUwX1NDU1NSKDEpCi0jZGVmaW5lIFNINzc1MF9TQ1NGUjIgICAgICAgICBTSDc3NTBf U0NTU1IoMikKLSNkZWZpbmUgU0g3NzUwX1NDU1NSX0E3KG4pICAgIFNINzc1MF9BN19SRUczMihT SDc3NTBfU0NTU1JfUkVHT0ZTKG4pKQotI2RlZmluZSBTSDc3NTBfU0NTU1IxX0E3ICAgICAgU0g3 NzUwX1NDU1NSX0E3KDEpCi0jZGVmaW5lIFNINzc1MF9TQ1NGUjJfQTcgICAgICBTSDc3NTBfU0NT U1JfQTcoMikKLQotI2RlZmluZSBTSDc3NTBfU0NTU1IxX1REUkUgICAgMHg4MAkvKiBUcmFuc21p dCBEYXRhIFJlZ2lzdGVyIEVtcHR5ICovCi0jZGVmaW5lIFNINzc1MF9TQ1NTUjFfUkRSRiAgICAw eDQwCS8qIFJlY2VpdmUgRGF0YSBSZWdpc3RlciBGdWxsICovCi0jZGVmaW5lIFNINzc1MF9TQ1NT UjFfT1JFUiAgICAweDIwCS8qIE92ZXJydW4gRXJyb3IgKi8KLSNkZWZpbmUgU0g3NzUwX1NDU1NS MV9GRVIgICAgIDB4MTAJLyogRnJhbWluZyBFcnJvciAqLwotI2RlZmluZSBTSDc3NTBfU0NTU1Ix X1BFUiAgICAgMHgwOAkvKiBQYXJpdHkgRXJyb3IgKi8KLSNkZWZpbmUgU0g3NzUwX1NDU1NSMV9U RU5EICAgIDB4MDQJLyogVHJhbnNtaXQgRW5kICovCi0jZGVmaW5lIFNINzc1MF9TQ1NTUjFfTVBC ICAgICAweDAyCS8qIE11bHRpcHJvY2Vzc29yIEJpdCAqLwotI2RlZmluZSBTSDc3NTBfU0NTU1Ix X01QQlQgICAgMHgwMQkvKiBNdWx0aXByb2Nlc3NvciBCaXQgVHJhbnNmZXIgKi8KLQotI2RlZmlu ZSBTSDc3NTBfU0NGU1IyX1BFUk4gICAgMHhGMDAwCS8qIE51bWJlciBvZiBQYXJpdHkgRXJyb3Jz ICovCi0jZGVmaW5lIFNINzc1MF9TQ0ZTUjJfUEVSTl9TICAxMgotI2RlZmluZSBTSDc3NTBfU0NG U1IyX0ZFUk4gICAgMHgwRjAwCS8qIE51bWJlciBvZiBGcmFtaW5nIEVycm9ycyAqLwotI2RlZmlu ZSBTSDc3NTBfU0NGU1IyX0ZFUk5fUyAgOAotI2RlZmluZSBTSDc3NTBfU0NGU1IyX0VSICAgICAg MHgwMDgwCS8qIFJlY2VpdmUgRXJyb3IgKi8KLSNkZWZpbmUgU0g3NzUwX1NDRlNSMl9URU5EICAg IDB4MDA0MAkvKiBUcmFuc21pdCBFbmQgKi8KLSNkZWZpbmUgU0g3NzUwX1NDRlNSMl9UREZFICAg IDB4MDAyMAkvKiBUcmFuc21pdCBGSUZPIERhdGEgRW1wdHkgKi8KLSNkZWZpbmUgU0g3NzUwX1ND RlNSMl9CUksgICAgIDB4MDAxMAkvKiBCcmVhayBEZXRlY3QgKi8KLSNkZWZpbmUgU0g3NzUwX1ND RlNSMl9GRVIgICAgIDB4MDAwOAkvKiBGcmFtaW5nIEVycm9yICovCi0jZGVmaW5lIFNINzc1MF9T Q0ZTUjJfUEVSICAgICAweDAwMDQJLyogUGFyaXR5IEVycm9yICovCi0jZGVmaW5lIFNINzc1MF9T Q0ZTUjJfUkRGICAgICAweDAwMDIJLyogUmVjZWl2ZSBGSUZPIERhdGEgRnVsbCAqLwotI2RlZmlu ZSBTSDc3NTBfU0NGU1IyX0RSICAgICAgMHgwMDAxCS8qIFJlY2VpdmUgRGF0YSBSZWFkeSAqLwot Ci0vKiBTQ0kgU2VyaWFsIFBvcnQgUmVnaXN0ZXIgLSBTQ1NQVFIxKGJ5dGUpICovCi0jZGVmaW5l IFNINzc1MF9TQ1NQVFIxX1JFR09GUyAweEUwMDAxQwkvKiBvZmZzZXQgKi8KLSNkZWZpbmUgU0g3 NzUwX1NDU1BUUjEgICAgICAgIFNINzc1MF9QNF9SRUczMihTSDc3NTBfU0NTUFRSMV9SRUdPRlMp Ci0jZGVmaW5lIFNINzc1MF9TQ1NQVFIxX0E3ICAgICBTSDc3NTBfQTdfUkVHMzIoU0g3NzUwX1ND U1BUUjFfUkVHT0ZTKQotCi0jZGVmaW5lIFNINzc1MF9TQ1NQVFIxX0VJTyAgICAweDgwCS8qIEVy cm9yIEludGVycnVwdCBPbmx5ICovCi0jZGVmaW5lIFNINzc1MF9TQ1NQVFIxX1NQQjFJTyAweDA4 CS8qIDE6IE91dHB1dCBTUEIxRFQgYml0IHRvIFNDSyBwaW4gKi8KLSNkZWZpbmUgU0g3NzUwX1ND U1BUUjFfU1BCMURUIDB4MDQJLyogU2VyaWFsIFBvcnQgQ2xvY2sgUG9ydCBEYXRhICovCi0jZGVm aW5lIFNINzc1MF9TQ1NQVFIxX1NQQjBJTyAweDAyCS8qIDE6IE91dHB1dCBTUEIwRFQgYml0IHRv IFR4RCBwaW4gKi8KLSNkZWZpbmUgU0g3NzUwX1NDU1BUUjFfU1BCMERUIDB4MDEJLyogU2VyaWFs IFBvcnQgQnJlYWsgRGF0YSAqLwotCi0vKiBTQ0lGIFNlcmlhbCBQb3J0IFJlZ2lzdGVyIC0gU0NT UFRSMihoYWxmKSAqLwotI2RlZmluZSBTSDc3NTBfU0NTUFRSMl9SRUdPRlMgMHhFODAwMjAJLyog b2Zmc2V0ICovCi0jZGVmaW5lIFNINzc1MF9TQ1NQVFIyICAgICAgICBTSDc3NTBfUDRfUkVHMzIo U0g3NzUwX1NDU1BUUjJfUkVHT0ZTKQotI2RlZmluZSBTSDc3NTBfU0NTUFRSMl9BNyAgICAgU0g3 NzUwX0E3X1JFRzMyKFNINzc1MF9TQ1NQVFIyX1JFR09GUykKLQotI2RlZmluZSBTSDc3NTBfU0NT UFRSMl9SVFNJTyAgMHg4MAkvKiAxOiBPdXRwdXQgUlRTRFQgYml0IHRvIFJUUzJcIHBpbiAqLwot I2RlZmluZSBTSDc3NTBfU0NTUFRSMl9SVFNEVCAgMHg0MAkvKiBSVFMgUG9ydCBEYXRhICovCi0j ZGVmaW5lIFNINzc1MF9TQ1NQVFIyX0NUU0lPICAweDIwCS8qIDE6IE91dHB1dCBDVFNEVCBiaXQg dG8gQ1RTMlwgcGluICovCi0jZGVmaW5lIFNINzc1MF9TQ1NQVFIyX0NUU0RUICAweDEwCS8qIENU UyBQb3J0IERhdGEgKi8KLSNkZWZpbmUgU0g3NzUwX1NDU1BUUjJfU1BCMklPIDB4MDIJLyogMTog T3V0cHV0IFNQQkRUIGJpdCB0byBUeEQyIHBpbiAqLwotI2RlZmluZSBTSDc3NTBfU0NTUFRSMl9T UEIyRFQgMHgwMQkvKiBTZXJpYWwgUG9ydCBCcmVhayBEYXRhICovCi0KLS8qIFNDSSBCaXQgUmF0 ZSBSZWdpc3RlciAtIFNDQlJSMShieXRlKSwgU0NCUlIyKGJ5dGUpICovCi0jZGVmaW5lIFNINzc1 MF9TQ0JSUl9SRUdPRlMobikgKChuKSA9PSAxID8gMHhFMDAwMDQgOiAweEU4MDAwNCkJLyogb2Zm c2V0ICovCi0jZGVmaW5lIFNINzc1MF9TQ0JSUihuKSAgICAgICBTSDc3NTBfUDRfUkVHMzIoU0g3 NzUwX1NDQlJSX1JFR09GUyhuKSkKLSNkZWZpbmUgU0g3NzUwX1NDQlJSMSAgICAgICAgIFNINzc1 MF9TQ0JSUl9QNCgxKQotI2RlZmluZSBTSDc3NTBfU0NCUlIyICAgICAgICAgU0g3NzUwX1NDQlJS X1A0KDIpCi0jZGVmaW5lIFNINzc1MF9TQ0JSUl9BNyhuKSAgICBTSDc3NTBfQTdfUkVHMzIoU0g3 NzUwX1NDQlJSX1JFR09GUyhuKSkKLSNkZWZpbmUgU0g3NzUwX1NDQlJSMV9BNyAgICAgIFNINzc1 MF9TQ0JSUl9BNygxKQotI2RlZmluZSBTSDc3NTBfU0NCUlIyX0E3ICAgICAgU0g3NzUwX1NDQlJS X0E3KDIpCi0KLS8qIFNDSUYgRklGTyBDb250cm9sIFJlZ2lzdGVyIC0gU0NGQ1IyKGhhbGYpICov Ci0jZGVmaW5lIFNINzc1MF9TQ0ZDUjJfUkVHT0ZTICAweEU4MDAxOAkvKiBvZmZzZXQgKi8KLSNk ZWZpbmUgU0g3NzUwX1NDRkNSMiAgICAgICAgIFNINzc1MF9QNF9SRUczMihTSDc3NTBfU0NGQ1Iy X1JFR09GUykKLSNkZWZpbmUgU0g3NzUwX1NDRkNSMl9BNyAgICAgIFNINzc1MF9BN19SRUczMihT SDc3NTBfU0NGQ1IyX1JFR09GUykKLQotI2RlZmluZSBTSDc3NTBfU0NGQ1IyX1JTVFJHICAgMHg3 MDAJLyogUlRTMlwgT3V0cHV0IEFjdGl2ZSBUcmlnZ2VyOyBSVFMyXAotCQkJCQkgICBzaWduYWwg Z29lcyB0byBoaWdoIGxldmVsIHdoZW4gdGhlCi0JCQkJCSAgIG51bWJlciBvZiByZWNlaXZlZCBk YXRhIHN0b3JlZCBpbgotCQkJCQkgICBGSUZPIGV4Y2VlZHMgdGhlIHRyaWdnZXIgbnVtYmVyICov Ci0jZGVmaW5lIFNINzc1MF9TQ0ZDUjJfUlNUUkdfMTUgMHgwMDAJLyogMTUgYnl0ZXMgKi8KLSNk ZWZpbmUgU0g3NzUwX1NDRkNSMl9SU1RSR18xICAweDAwMAkvKiAxIGJ5dGUgKi8KLSNkZWZpbmUg U0g3NzUwX1NDRkNSMl9SU1RSR180ICAweDAwMAkvKiA0IGJ5dGVzICovCi0jZGVmaW5lIFNINzc1 MF9TQ0ZDUjJfUlNUUkdfNiAgMHgwMDAJLyogNiBieXRlcyAqLwotI2RlZmluZSBTSDc3NTBfU0NG Q1IyX1JTVFJHXzggIDB4MDAwCS8qIDggYnl0ZXMgKi8KLSNkZWZpbmUgU0g3NzUwX1NDRkNSMl9S U1RSR18xMCAweDAwMAkvKiAxMCBieXRlcyAqLwotI2RlZmluZSBTSDc3NTBfU0NGQ1IyX1JTVFJH XzE0IDB4MDAwCS8qIDE0IGJ5dGVzICovCi0KLSNkZWZpbmUgU0g3NzUwX1NDRkNSMl9SVFJHICAg IDB4MEMwCS8qIFJlY2VpdmUgRklGTyBEYXRhIE51bWJlciBUcmlnZ2VyLAotCQkJCQkgICBSZWNl aXZlIERhdGEgRnVsbCAoUkRGKSBGbGFnIHNldHMKLQkJCQkJICAgd2hlbiBudW1iZXIgb2YgcmVj ZWl2ZSBkYXRhIGJ5dGVzIGlzCi0JCQkJCSAgIGVxdWFsIG9yIGdyZWF0ZXIgdGhhbiB0aGUgdHJp Z2dlcgotCQkJCQkgICBudW1iZXIgKi8KLSNkZWZpbmUgU0g3NzUwX1NDRkNSMl9SVFJHXzEgIDB4 MDAwCS8qIDEgYnl0ZSAqLwotI2RlZmluZSBTSDc3NTBfU0NGQ1IyX1JUUkdfNCAgMHgwNDAJLyog NCBieXRlcyAqLwotI2RlZmluZSBTSDc3NTBfU0NGQ1IyX1JUUkdfOCAgMHgwODAJLyogOCBieXRl cyAqLwotI2RlZmluZSBTSDc3NTBfU0NGQ1IyX1JUUkdfMTQgMHgwQzAJLyogMTQgYnl0ZXMgKi8K LQotI2RlZmluZSBTSDc3NTBfU0NGQ1IyX1RUUkcgICAgMHgwMzAJLyogVHJhbnNtaXQgRklGTyBE YXRhIE51bWJlciBUcmlnZ2VyLAotCQkJCQkgICBUcmFuc21pdCBGSUZPIERhdGEgUmVnaXN0ZXIg RW1wdHkgKFRERkUpCi0JCQkJCSAgIGZsYWcgc2V0cyB3aGVuIHRoZSBudW1iZXIgb2YgcmVtYWlu aW5nCi0JCQkJCSAgIHRyYW5zbWl0IGRhdGEgYnl0ZXMgaXMgZXF1YWwgb3IgbGVzcwotCQkJCQkg ICB0aGFuIHRoZSB0cmlnZ2VyIG51bWJlciAqLwotI2RlZmluZSBTSDc3NTBfU0NGQ1IyX1RUUkdf OCAgMHgwMDAJLyogOCBieXRlcyAqLwotI2RlZmluZSBTSDc3NTBfU0NGQ1IyX1RUUkdfNCAgMHgw MTAJLyogNCBieXRlcyAqLwotI2RlZmluZSBTSDc3NTBfU0NGQ1IyX1RUUkdfMiAgMHgwMjAJLyog MiBieXRlcyAqLwotI2RlZmluZSBTSDc3NTBfU0NGQ1IyX1RUUkdfMSAgMHgwMzAJLyogMSBieXRl ICovCi0KLSNkZWZpbmUgU0g3NzUwX1NDRkNSMl9NQ0UgICAgIDB4MDA4CS8qIE1vZGVtIENvbnRy b2wgRW5hYmxlICovCi0jZGVmaW5lIFNINzc1MF9TQ0ZDUjJfVEZSU1QgICAweDAwNAkvKiBUcmFu c21pdCBGSUZPIERhdGEgUmVnaXN0ZXIgUmVzZXQsCi0JCQkJCSAgIGludmFsaWRhdGVzIHRoZSB0 cmFuc21pdCBkYXRhIGluIHRoZQotCQkJCQkgICB0cmFuc21pdCBGSUZPICovCi0jZGVmaW5lIFNI Nzc1MF9TQ0ZDUjJfUkZSU1QgICAweDAwMgkvKiBSZWNlaXZlIEZJRk8gRGF0YSBSZWdpc3RlciBS ZXNldCwKLQkJCQkJICAgaW52YWxpZGF0ZXMgdGhlIHJlY2VpdmUgZGF0YSBpbiB0aGUKLQkJCQkJ ICAgcmVjZWl2ZSBGSUZPIGRhdGEgcmVnaXN0ZXIgYW5kIHJlc2V0cwotCQkJCQkgICBpdCB0byB0 aGUgZW1wdHkgc3RhdGUgKi8KLSNkZWZpbmUgU0g3NzUwX1NDRkNSMl9MT09QICAgIDB4MDAxCS8q IExvb3BiYWNrIFRlc3QgKi8KLQotLyogU0NJRiBGSUZPIERhdGEgQ291bnQgUmVnaXN0ZXIgLSBT Q0ZEUjIoaGFsZiwgcmVhZC1vbmx5KSAqLwotI2RlZmluZSBTSDc3NTBfU0NGRFIyX1JFR09GUyAg MHhFODAwMUMJLyogb2Zmc2V0ICovCi0jZGVmaW5lIFNINzc1MF9TQ0ZEUjIgICAgICAgICBTSDc3 NTBfUDRfUkVHMzIoU0g3NzUwX1NDRkRSMl9SRUdPRlMpCi0jZGVmaW5lIFNINzc1MF9TQ0ZEUjJf QTcgICAgICBTSDc3NTBfQTdfUkVHMzIoU0g3NzUwX1NDRkRSMl9SRUdPRlMpCi0KLSNkZWZpbmUg U0g3NzUwX1NDRkRSMl9UICAgICAgIDB4MUYwMAkvKiBOdW1iZXIgb2YgdW50cmFuc21pdHRlZCBk YXRhIGJ5dGVzCi0JCQkJCSAgIGluIHRyYW5zbWl0IEZJRk8gKi8KLSNkZWZpbmUgU0g3NzUwX1ND RkRSMl9UX1MgICAgIDgKLSNkZWZpbmUgU0g3NzUwX1NDRkRSMl9SICAgICAgIDB4MDAxRgkvKiBO dW1iZXIgb2YgcmVjZWl2ZWQgZGF0YSBieXRlcyBpbgotCQkJCQkgICByZWNlaXZlIEZJRk8gKi8K LSNkZWZpbmUgU0g3NzUwX1NDRkRSMl9SX1MgICAgIDAKLQotLyogU0NJRiBMaW5lIFN0YXR1cyBS ZWdpc3RlciAtIFNDTFNSMihoYWxmLCByZWFkLW9ubHkpICovCi0jZGVmaW5lIFNINzc1MF9TQ0xT UjJfUkVHT0ZTICAweEU4MDAyNAkvKiBvZmZzZXQgKi8KLSNkZWZpbmUgU0g3NzUwX1NDTFNSMiAg ICAgICAgIFNINzc1MF9QNF9SRUczMihTSDc3NTBfU0NMU1IyX1JFR09GUykKLSNkZWZpbmUgU0g3 NzUwX1NDTFNSMl9BNyAgICAgIFNINzc1MF9BN19SRUczMihTSDc3NTBfU0NMU1IyX1JFR09GUykK LQotI2RlZmluZSBTSDc3NTBfU0NMU1IyX09SRVIgICAgMHgwMDAxCS8qIE92ZXJydW4gRXJyb3Ig Ki8KLQotLyoKLSAqIFNDSS1iYXNlZCBTbWFydCBDYXJkIEludGVyZmFjZQotICovCi0vKiBTbWFy dCBDYXJkIE1vZGUgUmVnaXN0ZXIgLSBTQ1NDTVIxKGJ5dGUpICovCi0jZGVmaW5lIFNINzc1MF9T Q1NDTVIxX1JFR09GUyAweEUwMDAxOAkvKiBvZmZzZXQgKi8KLSNkZWZpbmUgU0g3NzUwX1NDU0NN UjEgICAgICAgIFNINzc1MF9QNF9SRUczMihTSDc3NTBfU0NTQ01SMV9SRUdPRlMpCi0jZGVmaW5l IFNINzc1MF9TQ1NDTVIxX0E3ICAgICBTSDc3NTBfQTdfUkVHMzIoU0g3NzUwX1NDU0NNUjFfUkVH T0ZTKQotCi0jZGVmaW5lIFNINzc1MF9TQ1NDTVIxX1NESVIgICAweDA4CS8qIFNtYXJ0IENhcmQg RGF0YSBUcmFuc2ZlciBEaXJlY3Rpb246ICovCi0jZGVmaW5lIFNINzc1MF9TQ1NDTVIxX1NESVJf TFNCRiAweDAwCS8qIExTQi1maXJzdCAqLwotI2RlZmluZSBTSDc3NTBfU0NTQ01SMV9TRElSX01T QkYgMHgwOAkvKiBNU0ItZmlyc3QgKi8KLQotI2RlZmluZSBTSDc3NTBfU0NTQ01SMV9TSU5WICAg MHgwNAkvKiBTbWFydCBDYXJkIERhdGEgSW52ZXJzaW9uICovCi0jZGVmaW5lIFNINzc1MF9TQ1ND TVIxX1NNSUYgICAweDAxCS8qIFNtYXJ0IENhcmQgSW50ZXJmYWNlIE1vZGUgU2VsZWN0ICovCi0K LS8qIFNtYXJ0LWNhcmQgc3BlY2lmaWMgYml0cyBpbiBvdGhlciByZWdpc3RlcnMgKi8KLS8qIFND U01SMTogKi8KLSNkZWZpbmUgU0g3NzUwX1NDU01SMV9HU00gICAgIDB4ODAJLyogR1NNIG1vZGUg c2VsZWN0ICovCi0KLS8qIFNDU1NSMTogKi8KLSNkZWZpbmUgU0g3NzUwX1NDU1NSMV9FUlMgICAg IDB4MTAJLyogRXJyb3IgU2lnbmFsIFN0YXR1cyAqLwotCi0vKgogICogSS9PIFBvcnRzCiAgKi8K IC8qIFBvcnQgQ29udHJvbCBSZWdpc3RlciBBIC0gUENUUkEgKi8KLS0tIC9kZXYvbnVsbAorKysg d29yay9ody9zaF9zZXJpYWwuYwkyMDA3LTA5LTI4IDE1OjA1OjUzLjAwMDAwMDAwMCArMDkwMApA QCAtMCwwICsxLDMxNSBAQAorLyoKKyAqIFFFTVUgU0NJL1NDSUYgc2VyaWFsIHBvcnQgZW11bGF0 aW9uCisgKgorICogQ29weXJpZ2h0IChjKSAyMDA3IE1hZ251cyBEYW1tCisgKgorICogQmFzZWQg b24gc2VyaWFsLmMgLSBRRU1VIDE2NDUwIFVBUlQgZW11bGF0aW9uCisgKiBDb3B5cmlnaHQgKGMp IDIwMDMtMjAwNCBGYWJyaWNlIEJlbGxhcmQKKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBn cmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5Cisg KiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRo ZSAiU29mdHdhcmUiKSwgdG8gZGVhbAorICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJp Y3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cworICogdG8gdXNl LCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBh bmQvb3Igc2VsbAorICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJz b25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCisgKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1Ympl Y3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmln aHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGlu CisgKiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4K KyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5U WSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1Qg TElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVO VCBTSEFMTAorICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZP UiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBB TiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCisg KiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9S IE9USEVSIERFQUxJTkdTIElOCisgKiBUSEUgU09GVFdBUkUuCisgKi8KKyNpbmNsdWRlICJ2bC5o IgorI2luY2x1ZGUgPGFzc2VydC5oPgorCisvLyNkZWZpbmUgREVCVUdfU0VSSUFMCisKKyNkZWZp bmUgU0hfU0VSSUFMX0ZMQUdfVEVORCAoMSA8PCAwKQorI2RlZmluZSBTSF9TRVJJQUxfRkxBR19U REUgICgxIDw8IDEpCisjZGVmaW5lIFNIX1NFUklBTF9GTEFHX1JERiAgKDEgPDwgMikKKyNkZWZp bmUgU0hfU0VSSUFMX0ZMQUdfQlJLICAoMSA8PCAzKQorI2RlZmluZSBTSF9TRVJJQUxfRkxBR19E UiAgICgxIDw8IDQpCisKK3R5cGVkZWYgc3RydWN0IHsKKyAgICB1aW50OF90IHNtcjsKKyAgICB1 aW50OF90IGJycjsKKyAgICB1aW50OF90IHNjcjsKKyAgICB1aW50OF90IGRyOyAvKiBmdGRyIC8g dGRyICovCisgICAgdWludDhfdCBzcjsgLyogZnNyIC8gc3NyICovCisgICAgdWludDE2X3QgZmNy OworICAgIHVpbnQ4X3Qgc3B0cjsKKworICAgIHVpbnQ4X3QgcnhfZmlmb1sxNl07IC8qIGZyZHIg LyByZHIgKi8KKyAgICB1aW50OF90IHJ4X2NudDsKKworICAgIHRhcmdldF9waHlzX2FkZHJfdCBi YXNlOworICAgIGludCBmcmVxOworICAgIGludCBmZWF0OworICAgIGludCBmbGFnczsKKworICAg IENoYXJEcml2ZXJTdGF0ZSAqY2hyOworfSBzaF9zZXJpYWxfc3RhdGU7CisKK3N0YXRpYyB2b2lk IHNoX3NlcmlhbF9pb3BvcnRfd3JpdGUodm9pZCAqb3BhcXVlLCB1aW50MzJfdCBvZmZzLCB1aW50 MzJfdCB2YWwpCit7CisgICAgc2hfc2VyaWFsX3N0YXRlICpzID0gb3BhcXVlOworICAgIHVuc2ln bmVkIGNoYXIgY2g7CisKKyNpZmRlZiBERUJVR19TRVJJQUwKKyAgICBwcmludGYoInNoX3Nlcmlh bDogd3JpdGUgYmFzZT0weCUwOGx4IG9mZnM9MHglMDJ4IHZhbD0weCUwMnhcbiIsCisJICAgKHVu c2lnbmVkIGxvbmcpIHMtPmJhc2UsIG9mZnMsIHZhbCk7CisjZW5kaWYKKyAgICBzd2l0Y2gob2Zm cykgeworICAgIGNhc2UgMHgwMDogLyogU01SICovCisgICAgICAgIHMtPnNtciA9IHZhbCAmICgo cy0+ZmVhdCAmIFNIX1NFUklBTF9GRUFUX1NDSUYpID8gMHg3YiA6IDB4ZmYpOworICAgICAgICBy ZXR1cm47CisgICAgY2FzZSAweDA0OiAvKiBCUlIgKi8KKyAgICAgICAgcy0+YnJyID0gdmFsOwor CXJldHVybjsKKyAgICBjYXNlIDB4MDg6IC8qIFNDUiAqLworICAgICAgICBzLT5zY3IgPSB2YWwg JiAoKHMtPmZlYXQgJiBTSF9TRVJJQUxfRkVBVF9TQ0lGKSA/IDB4ZmIgOiAweGZmKTsKKyAgICAg ICAgaWYgKCEodmFsICYgKDEgPDwgNSkpKQorICAgICAgICAgICAgcy0+ZmxhZ3MgfD0gU0hfU0VS SUFMX0ZMQUdfVEVORDsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgMHgwYzogLyogRlREUiAv IFREUiAqLworICAgICAgICBpZiAocy0+Y2hyKSB7CisgICAgICAgICAgICBjaCA9IHZhbDsKKyAg ICAgICAgICAgIHFlbXVfY2hyX3dyaXRlKHMtPmNociwgJmNoLCAxKTsKKwl9CisJcy0+ZHIgPSB2 YWw7CisJcy0+ZmxhZ3MgJj0gflNIX1NFUklBTF9GTEFHX1RERTsKKyAgICAgICAgcmV0dXJuOwor I2lmIDAKKyAgICBjYXNlIDB4MTQ6IC8qIEZSRFIgLyBSRFIgKi8KKyAgICAgICAgcmV0ID0gMDsK KyAgICAgICAgYnJlYWs7CisjZW5kaWYKKyAgICB9CisgICAgaWYgKHMtPmZlYXQgJiBTSF9TRVJJ QUxfRkVBVF9TQ0lGKSB7CisgICAgICAgIHN3aXRjaChvZmZzKSB7CisgICAgICAgIGNhc2UgMHgx MDogLyogRlNSICovCisgICAgICAgICAgICBpZiAoISh2YWwgJiAoMSA8PCA2KSkpCisgICAgICAg ICAgICAgICAgcy0+ZmxhZ3MgJj0gflNIX1NFUklBTF9GTEFHX1RFTkQ7CisgICAgICAgICAgICBp ZiAoISh2YWwgJiAoMSA8PCA1KSkpCisgICAgICAgICAgICAgICAgcy0+ZmxhZ3MgJj0gflNIX1NF UklBTF9GTEFHX1RERTsKKyAgICAgICAgICAgIGlmICghKHZhbCAmICgxIDw8IDQpKSkKKyAgICAg ICAgICAgICAgICBzLT5mbGFncyAmPSB+U0hfU0VSSUFMX0ZMQUdfQlJLOworICAgICAgICAgICAg aWYgKCEodmFsICYgKDEgPDwgMSkpKQorICAgICAgICAgICAgICAgIHMtPmZsYWdzICY9IH5TSF9T RVJJQUxfRkxBR19SREY7CisgICAgICAgICAgICBpZiAoISh2YWwgJiAoMSA8PCAwKSkpCisgICAg ICAgICAgICAgICAgcy0+ZmxhZ3MgJj0gflNIX1NFUklBTF9GTEFHX0RSOworICAgICAgICAgICAg cmV0dXJuOworICAgICAgICBjYXNlIDB4MTg6IC8qIEZDUiAqLworICAgICAgICAgICAgcy0+ZmNy ID0gdmFsOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBjYXNlIDB4MjA6IC8qIFNQVFIg Ki8KKyAgICAgICAgICAgIHMtPnNwdHIgPSB2YWw7CisgICAgICAgICAgICByZXR1cm47CisgICAg ICAgIGNhc2UgMHgyNDogLyogTFNSICovCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0K KyAgICB9CisgICAgZWxzZSB7CisjaWYgMAorICAgICAgICBzd2l0Y2gob2ZmcykgeworICAgICAg ICBjYXNlIDB4MGM6CisgICAgICAgICAgICByZXQgPSBzLT5kcjsKKyAgICAgICAgICAgIGJyZWFr OworICAgICAgICBjYXNlIDB4MTA6CisgICAgICAgICAgICByZXQgPSAwOworICAgICAgICAgICAg YnJlYWs7CisgICAgICAgIGNhc2UgMHgxYzoKKyAgICAgICAgICAgIHJldCA9IHMtPnNwdHI7Cisg ICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorI2VuZGlmCisgICAgfQorCisgICAgZnByaW50 ZihzdGRlcnIsICJzaF9zZXJpYWw6IHVuc3VwcG9ydGVkIHdyaXRlIHRvIDB4JTAyeFxuIiwgb2Zm cyk7CisgICAgYXNzZXJ0KDApOworfQorCitzdGF0aWMgdWludDMyX3Qgc2hfc2VyaWFsX2lvcG9y dF9yZWFkKHZvaWQgKm9wYXF1ZSwgdWludDMyX3Qgb2ZmcykKK3sKKyAgICBzaF9zZXJpYWxfc3Rh dGUgKnMgPSBvcGFxdWU7CisgICAgdWludDMyX3QgcmV0ID0gfjA7CisKKyNpZiAwCisgICAgc3dp dGNoKG9mZnMpIHsKKyAgICBjYXNlIDB4MDA6CisgICAgICAgIHJldCA9IHMtPnNtcjsKKyAgICAg ICAgYnJlYWs7CisgICAgY2FzZSAweDA0OgorICAgICAgICByZXQgPSBzLT5icnI7CisJYnJlYWs7 CisgICAgY2FzZSAweDA4OgorICAgICAgICByZXQgPSBzLT5zY3I7CisgICAgICAgIGJyZWFrOwor ICAgIGNhc2UgMHgxNDoKKyAgICAgICAgcmV0ID0gMDsKKyAgICAgICAgYnJlYWs7CisgICAgfQor I2VuZGlmCisgICAgaWYgKHMtPmZlYXQgJiBTSF9TRVJJQUxfRkVBVF9TQ0lGKSB7CisgICAgICAg IHN3aXRjaChvZmZzKSB7CisgICAgICAgIGNhc2UgMHgxMDogLyogRlNSICovCisgICAgICAgICAg ICByZXQgPSAwOworICAgICAgICAgICAgaWYgKHMtPmZsYWdzICYgU0hfU0VSSUFMX0ZMQUdfVEVO RCkKKyAgICAgICAgICAgICAgICByZXQgfD0gKDEgPDwgNik7CisgICAgICAgICAgICBpZiAocy0+ ZmxhZ3MgJiBTSF9TRVJJQUxfRkxBR19UREUpCisgICAgICAgICAgICAgICAgcmV0IHw9ICgxIDw8 IDUpOworICAgICAgICAgICAgaWYgKHMtPmZsYWdzICYgU0hfU0VSSUFMX0ZMQUdfQlJLKQorICAg ICAgICAgICAgICAgIHJldCB8PSAoMSA8PCA0KTsKKyAgICAgICAgICAgIGlmIChzLT5mbGFncyAm IFNIX1NFUklBTF9GTEFHX1JERikKKyAgICAgICAgICAgICAgICByZXQgfD0gKDEgPDwgMSk7Cisg ICAgICAgICAgICBpZiAocy0+ZmxhZ3MgJiBTSF9TRVJJQUxfRkxBR19EUikKKyAgICAgICAgICAg ICAgICByZXQgfD0gKDEgPDwgMCk7CisKKwkgICAgaWYgKHMtPnNjciAmICgxIDw8IDUpKQorICAg ICAgICAgICAgICAgIHMtPmZsYWdzIHw9IFNIX1NFUklBTF9GTEFHX1RERSB8IFNIX1NFUklBTF9G TEFHX1RFTkQ7CisKKyAgICAgICAgICAgIGJyZWFrOworI2lmIDAKKyAgICAgICAgY2FzZSAweDE4 OgorICAgICAgICAgICAgcmV0ID0gcy0+ZmNyOworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYK KyAgICAgICAgY2FzZSAweDFjOgorICAgICAgICAgICAgcmV0ID0gcy0+cnhfY250OworICAgICAg ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgMHgyMDoKKyAgICAgICAgICAgIHJldCA9IHMtPnNw dHI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAweDI0OgorICAgICAgICAgICAg cmV0ID0gMDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorICAgIGVsc2Ug eworI2lmIDAKKyAgICAgICAgc3dpdGNoKG9mZnMpIHsKKyAgICAgICAgY2FzZSAweDBjOgorICAg ICAgICAgICAgcmV0ID0gcy0+ZHI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAw eDEwOgorICAgICAgICAgICAgcmV0ID0gMDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBj YXNlIDB4MWM6CisgICAgICAgICAgICByZXQgPSBzLT5zcHRyOworICAgICAgICAgICAgYnJlYWs7 CisgICAgICAgIH0KKyNlbmRpZgorICAgIH0KKyNpZmRlZiBERUJVR19TRVJJQUwKKyAgICBwcmlu dGYoInNoX3NlcmlhbDogcmVhZCBiYXNlPTB4JTA4bHggb2Zmcz0weCUwMnggdmFsPTB4JXhcbiIs CisJICAgKHVuc2lnbmVkIGxvbmcpIHMtPmJhc2UsIG9mZnMsIHJldCk7CisjZW5kaWYKKworICAg IGlmIChyZXQgJiB+KCgxIDw8IDE2KSAtIDEpKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAi c2hfc2VyaWFsOiB1bnN1cHBvcnRlZCByZWFkIGZyb20gMHglMDJ4XG4iLCBvZmZzKTsKKwlhc3Nl cnQoMCk7CisgICAgfQorCisgICAgcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBzaF9zZXJp YWxfY2FuX3JlY2VpdmUoc2hfc2VyaWFsX3N0YXRlICpzKQoreworICAgIHJldHVybiAwOworfQor CitzdGF0aWMgdm9pZCBzaF9zZXJpYWxfcmVjZWl2ZV9ieXRlKHNoX3NlcmlhbF9zdGF0ZSAqcywg aW50IGNoKQoreworfQorCitzdGF0aWMgdm9pZCBzaF9zZXJpYWxfcmVjZWl2ZV9icmVhayhzaF9z ZXJpYWxfc3RhdGUgKnMpCit7Cit9CisKK3N0YXRpYyBpbnQgc2hfc2VyaWFsX2Nhbl9yZWNlaXZl MSh2b2lkICpvcGFxdWUpCit7CisgICAgc2hfc2VyaWFsX3N0YXRlICpzID0gb3BhcXVlOworICAg IHJldHVybiBzaF9zZXJpYWxfY2FuX3JlY2VpdmUocyk7Cit9CisKK3N0YXRpYyB2b2lkIHNoX3Nl cmlhbF9yZWNlaXZlMSh2b2lkICpvcGFxdWUsIGNvbnN0IHVpbnQ4X3QgKmJ1ZiwgaW50IHNpemUp Cit7CisgICAgc2hfc2VyaWFsX3N0YXRlICpzID0gb3BhcXVlOworICAgIHNoX3NlcmlhbF9yZWNl aXZlX2J5dGUocywgYnVmWzBdKTsKK30KKworc3RhdGljIHZvaWQgc2hfc2VyaWFsX2V2ZW50KHZv aWQgKm9wYXF1ZSwgaW50IGV2ZW50KQoreworICAgIHNoX3NlcmlhbF9zdGF0ZSAqcyA9IG9wYXF1 ZTsKKyAgICBpZiAoZXZlbnQgPT0gQ0hSX0VWRU5UX0JSRUFLKQorICAgICAgICBzaF9zZXJpYWxf cmVjZWl2ZV9icmVhayhzKTsKK30KKwordWludDMyX3Qgc2hfc2VyaWFsX3JlYWQgKHZvaWQgKm9w YXF1ZSwgdGFyZ2V0X3BoeXNfYWRkcl90IGFkZHIpCit7CisgICAgc2hfc2VyaWFsX3N0YXRlICpz ID0gb3BhcXVlOworICAgIHJldHVybiBzaF9zZXJpYWxfaW9wb3J0X3JlYWQocywgYWRkciAtIHMt PmJhc2UpOworfQorCit2b2lkIHNoX3NlcmlhbF93cml0ZSAodm9pZCAqb3BhcXVlLAorCQkgICAg ICB0YXJnZXRfcGh5c19hZGRyX3QgYWRkciwgdWludDMyX3QgdmFsdWUpCit7CisgICAgc2hfc2Vy aWFsX3N0YXRlICpzID0gb3BhcXVlOworICAgIHNoX3NlcmlhbF9pb3BvcnRfd3JpdGUocywgYWRk ciAtIHMtPmJhc2UsIHZhbHVlKTsKK30KKworc3RhdGljIENQVVJlYWRNZW1vcnlGdW5jICpzaF9z ZXJpYWxfcmVhZGZuW10gPSB7CisgICAgJnNoX3NlcmlhbF9yZWFkLAorICAgICZzaF9zZXJpYWxf cmVhZCwKKyAgICAmc2hfc2VyaWFsX3JlYWQsCit9OworCitzdGF0aWMgQ1BVV3JpdGVNZW1vcnlG dW5jICpzaF9zZXJpYWxfd3JpdGVmbltdID0geworICAgICZzaF9zZXJpYWxfd3JpdGUsCisgICAg JnNoX3NlcmlhbF93cml0ZSwKKyAgICAmc2hfc2VyaWFsX3dyaXRlLAorfTsKKwordm9pZCBzaF9z ZXJpYWxfaW5pdCAodGFyZ2V0X3BoeXNfYWRkcl90IGJhc2UsIGludCBmZWF0LAorCQkgICAgIHVp bnQzMl90IGZyZXEsIENoYXJEcml2ZXJTdGF0ZSAqY2hyKQoreworICAgIHNoX3NlcmlhbF9zdGF0 ZSAqczsKKyAgICBpbnQgc19pb19tZW1vcnk7CisKKyAgICBzID0gcWVtdV9tYWxsb2N6KHNpemVv ZihzaF9zZXJpYWxfc3RhdGUpKTsKKyAgICBpZiAoIXMpCisgICAgICAgIHJldHVybjsKKworICAg IHMtPmJhc2UgPSBiYXNlOworICAgIHMtPmZlYXQgPSBmZWF0OworICAgIHMtPmZsYWdzID0gU0hf U0VSSUFMX0ZMQUdfVEVORCB8IFNIX1NFUklBTF9GTEFHX1RERTsKKworICAgIHMtPnNtciA9IDA7 CisgICAgcy0+YnJyID0gMHhmZjsKKyAgICBzLT5zY3IgPSAwOworICAgIHMtPnNwdHIgPSAwOwor CisgICAgaWYgKGZlYXQgJiBTSF9TRVJJQUxfRkVBVF9TQ0lGKSB7CisgICAgICAgIHMtPmZjciA9 IDA7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBzLT5kciA9IDB4ZmY7CisgICAgfQorCisg ICAgcy0+cnhfY250ID0gMDsKKworICAgIHNfaW9fbWVtb3J5ID0gY3B1X3JlZ2lzdGVyX2lvX21l bW9yeSgwLCBzaF9zZXJpYWxfcmVhZGZuLAorCQkJCQkgc2hfc2VyaWFsX3dyaXRlZm4sIHMpOwor ICAgIGNwdV9yZWdpc3Rlcl9waHlzaWNhbF9tZW1vcnkoYmFzZSwgMHgyOCwgc19pb19tZW1vcnkp OworCisgICAgcy0+Y2hyID0gY2hyOworCisgICAgaWYgKGNocikKKyAgICAgICAgcWVtdV9jaHJf YWRkX2hhbmRsZXJzKGNociwgc2hfc2VyaWFsX2Nhbl9yZWNlaXZlMSwgc2hfc2VyaWFsX3JlY2Vp dmUxLAorCQkJICAgICAgc2hfc2VyaWFsX2V2ZW50LCBzKTsKK30KLS0tIDAwMDMvdmwuaAorKysg d29yay92bC5oCTIwMDctMDktMjggMTU6MDQ6NDEuMDAwMDAwMDAwICswOTAwCkBAIC0xNTE1LDYg KzE1MTUsMTEgQEAgaW50IHNoNzc1MF9yZWdpc3Rlcl9pb19kZXZpY2Uoc3RydWN0IFNINwogI2Rl ZmluZSBUTVUwMTJfRkVBVF9FWFRDTEsgKDEgPDwgMikKIHZvaWQgdG11MDEyX2luaXQodWludDMy X3QgYmFzZSwgaW50IGZlYXQsIHVpbnQzMl90IGZyZXEpOwogCisvKiBzaF9zZXJpYWwuYyAqLwor I2RlZmluZSBTSF9TRVJJQUxfRkVBVF9TQ0lGICgxIDw8IDApCit2b2lkIHNoX3NlcmlhbF9pbml0 ICh0YXJnZXRfcGh5c19hZGRyX3QgYmFzZSwgaW50IGZlYXQsCisJCSAgICAgdWludDMyX3QgZnJl cSwgQ2hhckRyaXZlclN0YXRlICpjaHIpOworCiAvKiB0YzU4MTI4LmMgKi8KIGludCB0YzU4MTI4 X2luaXQoc3RydWN0IFNINzc1MFN0YXRlICpzLCBjaGFyICp6b25lMSwgY2hhciAqem9uZTIpOwog Cg== ------=_Part_4102_30098519.1190965864238 Content-Type: application/octet-stream; name="qemu-cvs-20070927b-sh_intc.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="qemu-cvs-20070927b-sh_intc.patch"; filename="qemu-cvs-20070927b-sh_intc.patch"; filename="qemu-cvs-20070927b-sh_intc.patch"; filename="qemu-cvs-20070927b-sh_intc.patch"; filename="qemu-cvs-20070927b-sh_intc.patch" X-Attachment-Id: f_f74e12wq c2g6IGFkZCBJTlRDIGNvbnRyb2xsZXIgcHJvdG90eXBlCgpUaGlzIHBhdGNoIGFkZHMgY29kZSB0 byBlbXVsYXRlIGFsbCBJTlRDIHJlZ2lzdGVycy4gV2UgZG9uJ3Qgc3VwcG9ydAplbmFibGluZyBv ZiBpbnRlcnJ1cHRzIHlldCwgYnV0IHRoaXMgaXMgYSBnb29kIGZpcnN0IHN0ZXAuCgpTaWduZWQt b2ZmLWJ5OiBNYWdudXMgRGFtbSA8ZGFtbUBpZ2VsLmNvLmpwPgotLS0KCiBody9zaDc3NTAuYyB8 ICAgNTEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr CiAxIGZpbGUgY2hhbmdlZCwgNTEgaW5zZXJ0aW9ucygrKQoKLS0tIDAwMDUvaHcvc2g3NzUwLmMK KysrIHdvcmsvaHcvc2g3NzUwLmMJMjAwNy0wOS0yNyAxNjo0NToyNC4wMDAwMDAwMDAgKzA5MDAK QEAgLTUxLDYgKzUxLDE0IEBAIHR5cGVkZWYgc3RydWN0IFNINzc1MFN0YXRlIHsKICAgICB1aW50 MTZfdCBwZXJpcGhfcGR0cmI7CS8qIEltcG9zZWQgYnkgdGhlIHBlcmlwaGVyYWxzICovCiAgICAg dWludDE2X3QgcGVyaXBoX3BvcnRkaXJiOwkvKiBEaXJlY3Rpb24gc2VlbiBmcm9tIHRoZSBwZXJp cGhlcmFscyAqLwogICAgIHNoNzc1MF9pb19kZXZpY2UgKmRldmljZXNbTkJfREVWSUNFU107CS8q IEV4dGVybmFsIHBlcmlwaGVyYWxzICovCisKKyAgICB1aW50MTZfdCBpY3I7CisgICAgdWludDE2 X3QgaXByYTsKKyAgICB1aW50MTZfdCBpcHJiOworICAgIHVpbnQxNl90IGlwcmM7CisgICAgdWlu dDE2X3QgaXByZDsKKyAgICB1aW50MzJfdCBpbnRwcmkwMDsKKyAgICB1aW50MzJfdCBpbnRtc2sw MDsKICAgICAvKiBDYWNoZSAqLwogICAgIHVpbnQzMl90IGNjcjsKIApAQCAtMjA3LDYgKzIxNSwx NiBAQCBzdGF0aWMgdWludDMyX3Qgc2g3NzUwX21lbV9yZWFkdyh2b2lkICpvCiAJcmV0dXJuIHBv cnRhX2xpbmVzKHMpOwogICAgIGNhc2UgU0g3NzUwX1BEVFJCX0E3OgogCXJldHVybiBwb3J0Yl9s aW5lcyhzKTsKKyAgICBjYXNlIDB4MWZkMDAwMDA6CisgICAgICAgIHJldHVybiBzLT5pY3I7Cisg ICAgY2FzZSAweDFmZDAwMDA0OgorICAgICAgICByZXR1cm4gcy0+aXByYTsKKyAgICBjYXNlIDB4 MWZkMDAwMDg6CisgICAgICAgIHJldHVybiBzLT5pcHJiOworICAgIGNhc2UgMHgxZmQwMDAwYzoK KyAgICAgICAgcmV0dXJuIHMtPmlwcmM7CisgICAgY2FzZSAweDFmZDAwMDEwOgorICAgICAgICBy ZXR1cm4gcy0+aXByZDsKICAgICBkZWZhdWx0OgogCWVycm9yX2FjY2Vzcygid29yZCByZWFkIiwg YWRkcik7CiAJYXNzZXJ0KDApOwpAQCAtMjQyLDYgKzI2MCwxNCBAQCBzdGF0aWMgdWludDMyX3Qg c2g3NzUwX21lbV9yZWFkbCh2b2lkICpvCiAJcmV0dXJuIDB4MDAxMTAwMDA7CS8qIE1pbmltdW0g Y2FjaGVzICovCiAgICAgY2FzZSAweDFmMDAwMDQ0OgkJLyogUHJvY2Vzc29yIHZlcnNpb24gUFJS ICovCiAJcmV0dXJuIDB4MDAwMDAxMDA7CS8qIFNINzc1MFIgKi8KKyAgICBjYXNlIDB4MWUwODAw MDA6CisgICAgICAgIHJldHVybiBzLT5pbnRwcmkwMDsKKyAgICBjYXNlIDB4MWUwODAwMjA6Cisg ICAgICAgIHJldHVybiAwOworICAgIGNhc2UgMHgxZTA4MDA0MDoKKyAgICAgICAgcmV0dXJuIHMt PmludG1zazAwOworICAgIGNhc2UgMHgxZTA4MDA2MDoKKyAgICAgICAgcmV0dXJuIDA7CiAgICAg ZGVmYXVsdDoKIAllcnJvcl9hY2Nlc3MoImxvbmcgcmVhZCIsIGFkZHIpOwogCWFzc2VydCgwKTsK QEAgLTMwMCw2ICszMjYsMjEgQEAgc3RhdGljIHZvaWQgc2g3NzUwX21lbV93cml0ZXcodm9pZCAq b3BhcQogCSAgICBhc3NlcnQoMCk7CiAJfQogCXJldHVybjsKKyAgICBjYXNlIDB4MWZkMDAwMDA6 CisgICAgICAgIHMtPmljciA9IG1lbV92YWx1ZTsKKwlyZXR1cm47CisgICAgY2FzZSAweDFmZDAw MDA0OgorICAgICAgICBzLT5pcHJhID0gbWVtX3ZhbHVlOworCXJldHVybjsKKyAgICBjYXNlIDB4 MWZkMDAwMDg6CisgICAgICAgIHMtPmlwcmIgPSBtZW1fdmFsdWU7CisJcmV0dXJuOworICAgIGNh c2UgMHgxZmQwMDAwYzoKKyAgICAgICAgcy0+aXByYyA9IG1lbV92YWx1ZTsKKwlyZXR1cm47Cisg ICAgY2FzZSAweDFmZDAwMDEwOgorICAgICAgICBzLT5pcHJkID0gbWVtX3ZhbHVlOworCXJldHVy bjsKICAgICBkZWZhdWx0OgogCWVycm9yX2FjY2Vzcygid29yZCB3cml0ZSIsIGFkZHIpOwogCWFz c2VydCgwKTsKQEAgLTM2NCw2ICs0MDUsMTYgQEAgc3RhdGljIHZvaWQgc2g3NzUwX21lbV93cml0 ZWwodm9pZCAqb3BhcQogICAgIGNhc2UgU0g3NzUwX0NDUl9BNzoKIAlzLT5jY3IgPSBtZW1fdmFs dWU7CiAJcmV0dXJuOworICAgIGNhc2UgMHgxZTA4MDAwMDoKKyAgICAgICAgcy0+aW50cHJpMDAg PSBtZW1fdmFsdWU7CisJcmV0dXJuOworICAgIGNhc2UgMHgxZTA4MDAyMDoKKyAgICAgICAgcmV0 dXJuOworICAgIGNhc2UgMHgxZTA4MDA0MDoKKyAgICAgICAgcy0+aW50bXNrMDAgPSBtZW1fdmFs dWU7CisJcmV0dXJuOworICAgIGNhc2UgMHgxZTA4MDA2MDoKKyAgICAgICAgcmV0dXJuOwogICAg IGRlZmF1bHQ6CiAJZXJyb3JfYWNjZXNzKCJsb25nIHdyaXRlIiwgYWRkcik7CiAJYXNzZXJ0KDAp Owo= ------=_Part_4102_30098519.1190965864238 Content-Type: application/octet-stream; name="qemu-cvs-20070927-frqcr.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="qemu-cvs-20070927-frqcr.patch"; filename="qemu-cvs-20070927-frqcr.patch"; filename="qemu-cvs-20070927-frqcr.patch"; filename="qemu-cvs-20070927-frqcr.patch"; filename="qemu-cvs-20070927-frqcr.patch" X-Attachment-Id: f_f74e1bfn c2g6IGFkZCBGUlFDUiByZWFkIHN1cHBvcnQKClRoaXMgcGF0Y2ggYWRkcyBjb2RlIHRvIGFjY2Vw dCBGUlFDUiByZWFkIG9wZXJhdGlvbnMgYW5kIHJldHVybiAwLgpJbiB0aGUgZnV0dXJlIHdlIHNo b3VsZCBrZWVwIHRyYWNrIG9mIGNsb2NrcyBhbmQgZW11bGF0ZSB0aGlzIHByb3Blcmx5LgpVbnRp bCB0aGVuIC0gdGhpcyBpcyBlbm91Z2ggdG8gZ2V0IExpbnV4IG1vdmluZy4KClNpZ25lZC1vZmYt Ynk6IE1hZ251cyBEYW1tIDxkYW1tQGlnZWwuY28uanA+Ci0tLQoKIGh3L3NoNzc1MC5jIHwgICAg MiArKwogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQoKLS0tIDAwMDYvaHcvc2g3NzUw LmMKKysrIHdvcmsvaHcvc2g3NzUwLmMJMjAwNy0wOS0yNyAxNjo0ODoyMy4wMDAwMDAwMDAgKzA5 MDAKQEAgLTIwNyw2ICsyMDcsOCBAQCBzdGF0aWMgdWludDMyX3Qgc2g3NzUwX21lbV9yZWFkdyh2 b2lkICpvCiAgICAgU0g3NzUwU3RhdGUgKnMgPSBvcGFxdWU7CiAKICAgICBzd2l0Y2ggKGFkZHIp IHsKKyAgICBjYXNlIFNINzc1MF9GUlFDUl9BNzoKKwlyZXR1cm4gMDsKICAgICBjYXNlIFNINzc1 MF9SRkNSX0E3OgogCWZwcmludGYoc3RkZXJyLAogCQkiUmVhZCBhY2Nlc3MgdG8gcmVmcmVzaCBj b3VudCByZWdpc3RlciwgaW5jcmVtZW50aW5nXG4iKTsK ------=_Part_4102_30098519.1190965864238 Content-Type: application/octet-stream; name="qemu-cvs-20070926-rte.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="qemu-cvs-20070926-rte.patch"; filename="qemu-cvs-20070926-rte.patch"; filename="qemu-cvs-20070926-rte.patch"; filename="qemu-cvs-20070926-rte.patch" X-Attachment-Id: f_f74e1pvx c2g6IGZpeCBydGUgb3Bjb2RlCgpUaGUgb3Bjb2RlIGZvciBydGUgaXMgaW5jb3JyZWN0IHdpdGhv dXQgdGhpcyBwYXRjaC4KClNpZ25lZC1vZmYtYnk6IE1hZ251cyBEYW1tIDxkYW1tQGlnZWwuY28u anA+Ci0tLQoKIHRhcmdldC1zaDQvdHJhbnNsYXRlLmMgfCAgICAyICstCiAxIGZpbGUgY2hhbmdl ZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCi0tLSAwMDAxL3RhcmdldC1zaDQvdHJh bnNsYXRlLmMKKysrIHdvcmsvdGFyZ2V0LXNoNC90cmFuc2xhdGUuYwkyMDA3LTA5LTI2IDIwOjI2 OjMzLjAwMDAwMDAwMCArMDkwMApAQCAtMjc3LDcgKzI3Nyw3IEBAIHZvaWQgZGVjb2RlX29wYyhE aXNhc0NvbnRleHQgKiBjdHgpCiAgICAgY2FzZSAweDAwMzg6CQkvKiBsZHRsYiAqLwogCWFzc2Vy dCgwKTsJCS8qIFhYWFhYICovCiAJcmV0dXJuOwotICAgIGNhc2UgMHgwMDRiOgkJLyogcnRlICov CisgICAgY2FzZSAweDAwMmI6CQkvKiBydGUgKi8KIAlDSEVDS19OT1RfREVMQVlfU0xPVCBnZW5f b3BfcnRlKCk7CiAJY3R4LT5mbGFncyB8PSBERUxBWV9TTE9UOwogCWN0eC0+ZGVsYXllZF9wYyA9 ICh1aW50MzJfdCkgLSAxOwo= ------=_Part_4102_30098519.1190965864238 Content-Type: application/octet-stream; name="qemu-cvs-20070928-sh-configure.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="qemu-cvs-20070928-sh-configure.patch"; filename="qemu-cvs-20070928-sh-configure.patch"; filename="qemu-cvs-20070928-sh-configure.patch"; filename="qemu-cvs-20070928-sh-configure.patch" X-Attachment-Id: f_f74e2525 c2g6IGFkZCBzaDQtc29mdG1tdSBhbmQgc2g0LWxpbnV4LXVzZXIgdG8gLS10YXJnZXQtbGlzdAoK VGhpcyBwYXRjaCBhZGRzIHNoNC1zb2Z0bW11IGFuZCBzaDQtbGludXgtdXNlciB0byB0aGUgZGVm YXVsdCBidWlsZC4KClNpZ25lZC1vZmYtYnk6IE1hZ251cyBEYW1tIDxkYW1tQGlnZWwuY28uanA+ Ci0tLQoKIGNvbmZpZ3VyZSB8ICAgIDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9u cygrKSwgMiBkZWxldGlvbnMoLSkKCi0tLSAwMDAxL2NvbmZpZ3VyZQorKysgd29yay9jb25maWd1 cmUJMjAwNy0wOS0yOCAxNToxNjo1OS4wMDAwMDAwMDAgKzA5MDAKQEAgLTQ5NywxMSArNDk3LDEx IEBAIGZpCiBpZiB0ZXN0IC16ICIkdGFyZ2V0X2xpc3QiIDsgdGhlbgogIyB0aGVzZSB0YXJnZXRz IGFyZSBwb3J0YWJsZQogICAgIGlmIFsgIiRzb2Z0bW11IiA9ICJ5ZXMiIF0gOyB0aGVuCi0gICAg ICAgIHRhcmdldF9saXN0PSJpMzg2LXNvZnRtbXUgcHBjLXNvZnRtbXUgc3BhcmMtc29mdG1tdSB4 ODZfNjQtc29mdG1tdSBtaXBzLXNvZnRtbXUgbWlwc2VsLXNvZnRtbXUgbWlwczY0LXNvZnRtbXUg bWlwczY0ZWwtc29mdG1tdSBhcm0tc29mdG1tdSBwcGM2NC1zb2Z0bW11IHBwY2VtYi1zb2Z0bW11 IG02OGstc29mdG1tdSIKKyAgICAgICAgdGFyZ2V0X2xpc3Q9ImkzODYtc29mdG1tdSBwcGMtc29m dG1tdSBzcGFyYy1zb2Z0bW11IHg4Nl82NC1zb2Z0bW11IG1pcHMtc29mdG1tdSBtaXBzZWwtc29m dG1tdSBtaXBzNjQtc29mdG1tdSBtaXBzNjRlbC1zb2Z0bW11IGFybS1zb2Z0bW11IHBwYzY0LXNv ZnRtbXUgcHBjZW1iLXNvZnRtbXUgbTY4ay1zb2Z0bW11IHNoNC1zb2Z0bW11IgogICAgIGZpCiAj IHRoZSBmb2xsb3dpbmcgYXJlIExpbnV4IHNwZWNpZmljCiAgICAgaWYgWyAiJGxpbnV4X3VzZXIi ID0gInllcyIgXSA7IHRoZW4KLSAgICAgICAgdGFyZ2V0X2xpc3Q9ImkzODYtbGludXgtdXNlciBh cm0tbGludXgtdXNlciBhcm1lYi1saW51eC11c2VyIHNwYXJjLWxpbnV4LXVzZXIgcHBjLWxpbnV4 LXVzZXIgbWlwcy1saW51eC11c2VyIG1pcHNlbC1saW51eC11c2VyIG02OGstbGludXgtdXNlciBh bHBoYS1saW51eC11c2VyIHBwYzY0LWxpbnV4LXVzZXIgJHRhcmdldF9saXN0IgorICAgICAgICB0 YXJnZXRfbGlzdD0iaTM4Ni1saW51eC11c2VyIGFybS1saW51eC11c2VyIGFybWViLWxpbnV4LXVz ZXIgc3BhcmMtbGludXgtdXNlciBwcGMtbGludXgtdXNlciBtaXBzLWxpbnV4LXVzZXIgbWlwc2Vs LWxpbnV4LXVzZXIgbTY4ay1saW51eC11c2VyIGFscGhhLWxpbnV4LXVzZXIgcHBjNjQtbGludXgt dXNlciBzaDQtbGludXgtdXNlciAkdGFyZ2V0X2xpc3QiCiAgICAgZmkKICMgdGhlIGZvbGxvd2lu ZyBhcmUgRGFyd2luIHNwZWNpZmljCiAgICAgaWYgWyAiJGRhcndpbl91c2VyIiA9ICJ5ZXMiIF0g OyB0aGVuCg== ------=_Part_4102_30098519.1190965864238 Content-Type: application/octet-stream; name="r2d-qemu.config" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="r2d-qemu.config"; filename="r2d-qemu.config" X-Attachment-Id: f_f74e6i1y IwojIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0CiMgTGlu dXgga2VybmVsIHZlcnNpb246IDIuNi4yMy1yYzQKIyBXZWQgU2VwIDI2IDIwOjQyOjI3IDIwMDcK IwpDT05GSUdfU1VQRVJIPXkKQ09ORklHX1JXU0VNX0dFTkVSSUNfU1BJTkxPQ0s9eQpDT05GSUdf R0VORVJJQ19CVUc9eQpDT05GSUdfR0VORVJJQ19GSU5EX05FWFRfQklUPXkKQ09ORklHX0dFTkVS SUNfSFdFSUdIVD15CkNPTkZJR19HRU5FUklDX0hBUkRJUlFTPXkKQ09ORklHX0dFTkVSSUNfSVJR X1BST0JFPXkKQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRFX0RFTEFZPXkKQ09ORklHX0dFTkVSSUNf VElNRT15CkNPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTPXkKQ09ORklHX1NZU19TVVBQT1JUU19Q Q0k9eQpDT05GSUdfU1RBQ0tUUkFDRV9TVVBQT1JUPXkKQ09ORklHX0xPQ0tERVBfU1VQUE9SVD15 CiMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1UzMiBpcyBub3Qgc2V0CiMgQ09ORklHX0FSQ0hfSEFT X0lMT0cyX1U2NCBpcyBub3Qgc2V0CkNPTkZJR19BUkNIX05PX1ZJUlRfVE9fQlVTPXkKQ09ORklH X0RFRkNPTkZJR19MSVNUPSIvbGliL21vZHVsZXMvJFVOQU1FX1JFTEVBU0UvLmNvbmZpZyIKCiMK IyBHZW5lcmFsIHNldHVwCiMKQ09ORklHX0VYUEVSSU1FTlRBTD15CkNPTkZJR19CUk9LRU5fT05f U01QPXkKQ09ORklHX0lOSVRfRU5WX0FSR19MSU1JVD0zMgpDT05GSUdfTE9DQUxWRVJTSU9OPSIi CkNPTkZJR19MT0NBTFZFUlNJT05fQVVUTz15CkNPTkZJR19TV0FQPXkKQ09ORklHX1NZU1ZJUEM9 eQpDT05GSUdfU1lTVklQQ19TWVNDVEw9eQojIENPTkZJR19QT1NJWF9NUVVFVUUgaXMgbm90IHNl dAojIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUIGlzIG5vdCBzZXQKIyBDT05GSUdfVEFTS1NUQVRT IGlzIG5vdCBzZXQKIyBDT05GSUdfVVNFUl9OUyBpcyBub3Qgc2V0CiMgQ09ORklHX0FVRElUIGlz IG5vdCBzZXQKQ09ORklHX0lLQ09ORklHPXkKIyBDT05GSUdfSUtDT05GSUdfUFJPQyBpcyBub3Qg c2V0CkNPTkZJR19MT0dfQlVGX1NISUZUPTE0CkNPTkZJR19TWVNGU19ERVBSRUNBVEVEPXkKIyBD T05GSUdfUkVMQVkgaXMgbm90IHNldApDT05GSUdfQkxLX0RFVl9JTklUUkQ9eQpDT05GSUdfSU5J VFJBTUZTX1NPVVJDRT0iL2hvbWUvZGFtbS9idWlsZC9mc2ltYWdlL2luaXRyYW1mcy5jcGlvIgpD T05GSUdfSU5JVFJBTUZTX1JPT1RfVUlEPTAKQ09ORklHX0lOSVRSQU1GU19ST09UX0dJRD0wCiMg Q09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFIGlzIG5vdCBzZXQKQ09ORklHX1NZU0NUTD15CkNP TkZJR19FTUJFRERFRD15CkNPTkZJR19VSUQxNj15CiMgQ09ORklHX1NZU0NUTF9TWVNDQUxMIGlz IG5vdCBzZXQKQ09ORklHX0tBTExTWU1TPXkKIyBDT05GSUdfS0FMTFNZTVNfRVhUUkFfUEFTUyBp cyBub3Qgc2V0CkNPTkZJR19IT1RQTFVHPXkKQ09ORklHX1BSSU5USz15CkNPTkZJR19CVUc9eQpD T05GSUdfRUxGX0NPUkU9eQpDT05GSUdfQkFTRV9GVUxMPXkKQ09ORklHX0ZVVEVYPXkKQ09ORklH X0FOT05fSU5PREVTPXkKQ09ORklHX0VQT0xMPXkKQ09ORklHX1NJR05BTEZEPXkKQ09ORklHX1RJ TUVSRkQ9eQpDT05GSUdfRVZFTlRGRD15CkNPTkZJR19TSE1FTT15CkNPTkZJR19WTV9FVkVOVF9D T1VOVEVSUz15CkNPTkZJR19TTEFCPXkKIyBDT05GSUdfU0xVQiBpcyBub3Qgc2V0CiMgQ09ORklH X1NMT0IgaXMgbm90IHNldApDT05GSUdfUlRfTVVURVhFUz15CiMgQ09ORklHX1RJTllfU0hNRU0g aXMgbm90IHNldApDT05GSUdfQkFTRV9TTUFMTD0wCkNPTkZJR19NT0RVTEVTPXkKIyBDT05GSUdf TU9EVUxFX1VOTE9BRCBpcyBub3Qgc2V0CiMgQ09ORklHX01PRFZFUlNJT05TIGlzIG5vdCBzZXQK IyBDT05GSUdfTU9EVUxFX1NSQ1ZFUlNJT05fQUxMIGlzIG5vdCBzZXQKIyBDT05GSUdfS01PRCBp cyBub3Qgc2V0CkNPTkZJR19CTE9DSz15CiMgQ09ORklHX0xCRCBpcyBub3Qgc2V0CiMgQ09ORklH X0JMS19ERVZfSU9fVFJBQ0UgaXMgbm90IHNldAojIENPTkZJR19MU0YgaXMgbm90IHNldAojIENP TkZJR19CTEtfREVWX0JTRyBpcyBub3Qgc2V0CgojCiMgSU8gU2NoZWR1bGVycwojCkNPTkZJR19J T1NDSEVEX05PT1A9eQpDT05GSUdfSU9TQ0hFRF9BUz15CkNPTkZJR19JT1NDSEVEX0RFQURMSU5F PXkKQ09ORklHX0lPU0NIRURfQ0ZRPXkKQ09ORklHX0RFRkFVTFRfQVM9eQojIENPTkZJR19ERUZB VUxUX0RFQURMSU5FIGlzIG5vdCBzZXQKIyBDT05GSUdfREVGQVVMVF9DRlEgaXMgbm90IHNldAoj IENPTkZJR19ERUZBVUxUX05PT1AgaXMgbm90IHNldApDT05GSUdfREVGQVVMVF9JT1NDSEVEPSJh bnRpY2lwYXRvcnkiCgojCiMgU3lzdGVtIHR5cGUKIwpDT05GSUdfQ1BVX1NIND15CiMgQ09ORklH X0NQVV9TVUJUWVBFX1NINzYxOSBpcyBub3Qgc2V0CiMgQ09ORklHX0NQVV9TVUJUWVBFX1NINzIw NiBpcyBub3Qgc2V0CiMgQ09ORklHX0NQVV9TVUJUWVBFX1NINzcwNSBpcyBub3Qgc2V0CiMgQ09O RklHX0NQVV9TVUJUWVBFX1NINzcwNiBpcyBub3Qgc2V0CiMgQ09ORklHX0NQVV9TVUJUWVBFX1NI NzcwNyBpcyBub3Qgc2V0CiMgQ09ORklHX0NQVV9TVUJUWVBFX1NINzcwOCBpcyBub3Qgc2V0CiMg Q09ORklHX0NQVV9TVUJUWVBFX1NINzcwOSBpcyBub3Qgc2V0CiMgQ09ORklHX0NQVV9TVUJUWVBF X1NINzcxMCBpcyBub3Qgc2V0CiMgQ09ORklHX0NQVV9TVUJUWVBFX1NINzcxMiBpcyBub3Qgc2V0 CiMgQ09ORklHX0NQVV9TVUJUWVBFX1NINzcyMCBpcyBub3Qgc2V0CiMgQ09ORklHX0NQVV9TVUJU WVBFX1NINzc1MCBpcyBub3Qgc2V0CiMgQ09ORklHX0NQVV9TVUJUWVBFX1NINzA5MSBpcyBub3Qg c2V0CiMgQ09ORklHX0NQVV9TVUJUWVBFX1NINzc1MFIgaXMgbm90IHNldAojIENPTkZJR19DUFVf U1VCVFlQRV9TSDc3NTBTIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1BVX1NVQlRZUEVfU0g3NzUxIGlz IG5vdCBzZXQKQ09ORklHX0NQVV9TVUJUWVBFX1NINzc1MVI9eQojIENPTkZJR19DUFVfU1VCVFlQ RV9TSDc3NjAgaXMgbm90IHNldAojIENPTkZJR19DUFVfU1VCVFlQRV9TSDRfMjAyIGlzIG5vdCBz ZXQKIyBDT05GSUdfQ1BVX1NVQlRZUEVfU1Q0MFNUQjEgaXMgbm90IHNldAojIENPTkZJR19DUFVf U1VCVFlQRV9TVDQwR1gxIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1BVX1NVQlRZUEVfU0g3NzcwIGlz IG5vdCBzZXQKIyBDT05GSUdfQ1BVX1NVQlRZUEVfU0g3NzgwIGlzIG5vdCBzZXQKIyBDT05GSUdf Q1BVX1NVQlRZUEVfU0g3Nzg1IGlzIG5vdCBzZXQKIyBDT05GSUdfQ1BVX1NVQlRZUEVfU0hYMyBp cyBub3Qgc2V0CiMgQ09ORklHX0NQVV9TVUJUWVBFX1NINzM0MyBpcyBub3Qgc2V0CiMgQ09ORklH X0NQVV9TVUJUWVBFX1NINzcyMiBpcyBub3Qgc2V0CgojCiMgTWVtb3J5IG1hbmFnZW1lbnQgb3B0 aW9ucwojCkNPTkZJR19RVUlDS0xJU1Q9eQpDT05GSUdfTU1VPXkKQ09ORklHX1BBR0VfT0ZGU0VU PTB4ODAwMDAwMDAKQ09ORklHX01FTU9SWV9TVEFSVD0weDBjMDAwMDAwCkNPTkZJR19NRU1PUllf U0laRT0weDA0MDAwMDAwCkNPTkZJR19WU1lTQ0FMTD15CkNPTkZJR19BUkNIX0ZMQVRNRU1fRU5B QkxFPXkKQ09ORklHX0FSQ0hfU1BBUlNFTUVNX0VOQUJMRT15CkNPTkZJR19BUkNIX1NQQVJTRU1F TV9ERUZBVUxUPXkKQ09ORklHX01BWF9BQ1RJVkVfUkVHSU9OUz0xCkNPTkZJR19BUkNIX1BPUFVM QVRFU19OT0RFX01BUD15CkNPTkZJR19BUkNIX1NFTEVDVF9NRU1PUllfTU9ERUw9eQpDT05GSUdf UEFHRV9TSVpFXzRLQj15CiMgQ09ORklHX1BBR0VfU0laRV84S0IgaXMgbm90IHNldAojIENPTkZJ R19QQUdFX1NJWkVfNjRLQiBpcyBub3Qgc2V0CkNPTkZJR19TRUxFQ1RfTUVNT1JZX01PREVMPXkK Q09ORklHX0ZMQVRNRU1fTUFOVUFMPXkKIyBDT05GSUdfRElTQ09OVElHTUVNX01BTlVBTCBpcyBu b3Qgc2V0CiMgQ09ORklHX1NQQVJTRU1FTV9NQU5VQUwgaXMgbm90IHNldApDT05GSUdfRkxBVE1F TT15CkNPTkZJR19GTEFUX05PREVfTUVNX01BUD15CkNPTkZJR19TUEFSU0VNRU1fU1RBVElDPXkK Q09ORklHX1NQTElUX1BUTE9DS19DUFVTPTQKIyBDT05GSUdfUkVTT1VSQ0VTXzY0QklUIGlzIG5v dCBzZXQKQ09ORklHX1pPTkVfRE1BX0ZMQUc9MApDT05GSUdfTlJfUVVJQ0s9MgoKIwojIENhY2hl IGNvbmZpZ3VyYXRpb24KIwojIENPTkZJR19TSF9ESVJFQ1RfTUFQUEVEIGlzIG5vdCBzZXQKQ09O RklHX0NBQ0hFX1dSSVRFQkFDSz15CiMgQ09ORklHX0NBQ0hFX1dSSVRFVEhST1VHSCBpcyBub3Qg c2V0CiMgQ09ORklHX0NBQ0hFX09GRiBpcyBub3Qgc2V0CgojCiMgUHJvY2Vzc29yIGZlYXR1cmVz CiMKQ09ORklHX0NQVV9MSVRUTEVfRU5ESUFOPXkKIyBDT05GSUdfQ1BVX0JJR19FTkRJQU4gaXMg bm90IHNldApDT05GSUdfU0hfRlBVPXkKIyBDT05GSUdfU0hfU1RPUkVfUVVFVUVTIGlzIG5vdCBz ZXQKQ09ORklHX0NQVV9IQVNfSU5URVZUPXkKQ09ORklHX0NQVV9IQVNfU1JfUkI9eQpDT05GSUdf Q1BVX0hBU19QVEVBPXkKQ09ORklHX0NQVV9IQVNfRlBVPXkKCiMKIyBCb2FyZCBzdXBwb3J0CiMK IyBDT05GSUdfU0hfNzc1MV9TWVNURU1IIGlzIG5vdCBzZXQKIyBDT05GSUdfU0hfU0VDVVJFRURH RTU0MTAgaXMgbm90IHNldAojIENPTkZJR19TSF9IUzc3NTFSVk9JUCBpcyBub3Qgc2V0CkNPTkZJ R19TSF9SVFM3NzUxUjJEPXkKIyBDT05GSUdfU0hfTEFORElTSyBpcyBub3Qgc2V0CiMgQ09ORklH X1NIX1RJVEFOIGlzIG5vdCBzZXQKIyBDT05GSUdfU0hfTEJPWF9SRTIgaXMgbm90IHNldAoKIwoj IFJUUzc3NTFSMkQgb3B0aW9ucwojCkNPTkZJR19SVFM3NzUxUjJEX1BMVVM9eQojIENPTkZJR19S VFM3NzUxUjJEXzEgaXMgbm90IHNldAoKIwojIFRpbWVyIGFuZCBjbG9jayBjb25maWd1cmF0aW9u CiMKQ09ORklHX1NIX1RNVT15CkNPTkZJR19TSF9USU1FUl9JUlE9MTYKQ09ORklHX1NIX1BDTEtf RlJFUT02MDAwMDAwMAojIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAojIENPTkZJR19O T19IWiBpcyBub3Qgc2V0CiMgQ09ORklHX0hJR0hfUkVTX1RJTUVSUyBpcyBub3Qgc2V0CgojCiMg Q1BVIEZyZXF1ZW5jeSBzY2FsaW5nCiMKIyBDT05GSUdfQ1BVX0ZSRVEgaXMgbm90IHNldAoKIwoj IERNQSBzdXBwb3J0CiMKIyBDT05GSUdfU0hfRE1BIGlzIG5vdCBzZXQKCiMKIyBDb21wYW5pb24g Q2hpcHMKIwoKIwojIEFkZGl0aW9uYWwgU3VwZXJIIERldmljZSBEcml2ZXJzCiMKQ09ORklHX0hF QVJUQkVBVD15CiMgQ09ORklHX1BVU0hfU1dJVENIIGlzIG5vdCBzZXQKCiMKIyBLZXJuZWwgZmVh dHVyZXMKIwojIENPTkZJR19IWl8xMDAgaXMgbm90IHNldApDT05GSUdfSFpfMjUwPXkKIyBDT05G SUdfSFpfMzAwIGlzIG5vdCBzZXQKIyBDT05GSUdfSFpfMTAwMCBpcyBub3Qgc2V0CkNPTkZJR19I Wj0yNTAKIyBDT05GSUdfS0VYRUMgaXMgbm90IHNldAojIENPTkZJR19DUkFTSF9EVU1QIGlzIG5v dCBzZXQKQ09ORklHX1BSRUVNUFRfTk9ORT15CiMgQ09ORklHX1BSRUVNUFRfVk9MVU5UQVJZIGlz IG5vdCBzZXQKIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0CgojCiMgQm9vdCBvcHRpb25zCiMK Q09ORklHX1pFUk9fUEFHRV9PRkZTRVQ9MHgwMDEwMDAwMApDT05GSUdfQk9PVF9MSU5LX09GRlNF VD0weDAwODAwMDAwCiMgQ09ORklHX1VCQ19XQUtFVVAgaXMgbm90IHNldApDT05GSUdfQ01ETElO RV9CT09MPXkKQ09ORklHX0NNRExJTkU9ImNvbnNvbGU9dHR5MCBjb25zb2xlPXR0eVNDMCwxMTUy MDAgcm9vdD0vZGV2L3NkYTEgZWFybHlwcmludGs9c2VyaWFsIgoKIwojIEJ1cyBvcHRpb25zCiMK Q09ORklHX1BDST15CkNPTkZJR19TSF9QQ0lETUFfTk9OQ09IRVJFTlQ9eQpDT05GSUdfUENJX0FV VE89eQpDT05GSUdfUENJX0FVVE9fVVBEQVRFX1JFU09VUkNFUz15CiMgQ09ORklHX0FSQ0hfU1VQ UE9SVFNfTVNJIGlzIG5vdCBzZXQKCiMKIyBQQ0NBUkQgKFBDTUNJQS9DYXJkQnVzKSBzdXBwb3J0 CiMKIyBDT05GSUdfUENDQVJEIGlzIG5vdCBzZXQKQ09ORklHX0hPVFBMVUdfUENJPXkKIyBDT05G SUdfSE9UUExVR19QQ0lfRkFLRSBpcyBub3Qgc2V0CiMgQ09ORklHX0hPVFBMVUdfUENJX0NQQ0kg aXMgbm90IHNldAojIENPTkZJR19IT1RQTFVHX1BDSV9TSFBDIGlzIG5vdCBzZXQKCiMKIyBFeGVj dXRhYmxlIGZpbGUgZm9ybWF0cwojCkNPTkZJR19CSU5GTVRfRUxGPXkKIyBDT05GSUdfQklORk1U X01JU0MgaXMgbm90IHNldAoKIwojIE5ldHdvcmtpbmcKIwpDT05GSUdfTkVUPXkKCiMKIyBOZXR3 b3JraW5nIG9wdGlvbnMKIwpDT05GSUdfUEFDS0VUPXkKIyBDT05GSUdfUEFDS0VUX01NQVAgaXMg bm90IHNldApDT05GSUdfVU5JWD15CkNPTkZJR19YRlJNPXkKIyBDT05GSUdfWEZSTV9VU0VSIGlz IG5vdCBzZXQKIyBDT05GSUdfWEZSTV9TVUJfUE9MSUNZIGlzIG5vdCBzZXQKIyBDT05GSUdfWEZS TV9NSUdSQVRFIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX0tFWSBpcyBub3Qgc2V0CkNPTkZJR19J TkVUPXkKIyBDT05GSUdfSVBfTVVMVElDQVNUIGlzIG5vdCBzZXQKIyBDT05GSUdfSVBfQURWQU5D RURfUk9VVEVSIGlzIG5vdCBzZXQKQ09ORklHX0lQX0ZJQl9IQVNIPXkKIyBDT05GSUdfSVBfUE5Q IGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX0lQSVAgaXMgbm90IHNldAojIENPTkZJR19ORVRfSVBH UkUgaXMgbm90IHNldAojIENPTkZJR19BUlBEIGlzIG5vdCBzZXQKIyBDT05GSUdfU1lOX0NPT0tJ RVMgaXMgbm90IHNldAojIENPTkZJR19JTkVUX0FIIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5FVF9F U1AgaXMgbm90IHNldAojIENPTkZJR19JTkVUX0lQQ09NUCBpcyBub3Qgc2V0CiMgQ09ORklHX0lO RVRfWEZSTV9UVU5ORUwgaXMgbm90IHNldAojIENPTkZJR19JTkVUX1RVTk5FTCBpcyBub3Qgc2V0 CkNPTkZJR19JTkVUX1hGUk1fTU9ERV9UUkFOU1BPUlQ9eQpDT05GSUdfSU5FVF9YRlJNX01PREVf VFVOTkVMPXkKQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQ9eQpDT05GSUdfSU5FVF9ESUFHPXkK Q09ORklHX0lORVRfVENQX0RJQUc9eQojIENPTkZJR19UQ1BfQ09OR19BRFZBTkNFRCBpcyBub3Qg c2V0CkNPTkZJR19UQ1BfQ09OR19DVUJJQz15CkNPTkZJR19ERUZBVUxUX1RDUF9DT05HPSJjdWJp YyIKIyBDT05GSUdfVENQX01ENVNJRyBpcyBub3Qgc2V0CiMgQ09ORklHX0lQVjYgaXMgbm90IHNl dAojIENPTkZJR19JTkVUNl9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0CiMgQ09ORklHX0lORVQ2X1RV Tk5FTCBpcyBub3Qgc2V0CiMgQ09ORklHX05FVFdPUktfU0VDTUFSSyBpcyBub3Qgc2V0CiMgQ09O RklHX05FVEZJTFRFUiBpcyBub3Qgc2V0CiMgQ09ORklHX0lQX0RDQ1AgaXMgbm90IHNldAojIENP TkZJR19JUF9TQ1RQIGlzIG5vdCBzZXQKIyBDT05GSUdfVElQQyBpcyBub3Qgc2V0CiMgQ09ORklH X0FUTSBpcyBub3Qgc2V0CiMgQ09ORklHX0JSSURHRSBpcyBub3Qgc2V0CiMgQ09ORklHX1ZMQU5f ODAyMVEgaXMgbm90IHNldAojIENPTkZJR19ERUNORVQgaXMgbm90IHNldAojIENPTkZJR19MTEMy IGlzIG5vdCBzZXQKIyBDT05GSUdfSVBYIGlzIG5vdCBzZXQKIyBDT05GSUdfQVRBTEsgaXMgbm90 IHNldAojIENPTkZJR19YMjUgaXMgbm90IHNldAojIENPTkZJR19MQVBCIGlzIG5vdCBzZXQKIyBD T05GSUdfRUNPTkVUIGlzIG5vdCBzZXQKIyBDT05GSUdfV0FOX1JPVVRFUiBpcyBub3Qgc2V0Cgoj CiMgUW9TIGFuZC9vciBmYWlyIHF1ZXVlaW5nCiMKIyBDT05GSUdfTkVUX1NDSEVEIGlzIG5vdCBz ZXQKCiMKIyBOZXR3b3JrIHRlc3RpbmcKIwojIENPTkZJR19ORVRfUEtUR0VOIGlzIG5vdCBzZXQK IyBDT05GSUdfSEFNUkFESU8gaXMgbm90IHNldAojIENPTkZJR19JUkRBIGlzIG5vdCBzZXQKIyBD T05GSUdfQlQgaXMgbm90IHNldAojIENPTkZJR19BRl9SWFJQQyBpcyBub3Qgc2V0CgojCiMgV2ly ZWxlc3MKIwojIENPTkZJR19DRkc4MDIxMSBpcyBub3Qgc2V0CkNPTkZJR19XSVJFTEVTU19FWFQ9 eQojIENPTkZJR19NQUM4MDIxMSBpcyBub3Qgc2V0CiMgQ09ORklHX0lFRUU4MDIxMSBpcyBub3Qg c2V0CiMgQ09ORklHX1JGS0lMTCBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF85UCBpcyBub3Qgc2V0 CgojCiMgRGV2aWNlIERyaXZlcnMKIwoKIwojIEdlbmVyaWMgRHJpdmVyIE9wdGlvbnMKIwpDT05G SUdfU1RBTkRBTE9ORT15CkNPTkZJR19QUkVWRU5UX0ZJUk1XQVJFX0JVSUxEPXkKQ09ORklHX0ZX X0xPQURFUj1tCiMgQ09ORklHX1NZU19IWVBFUlZJU09SIGlzIG5vdCBzZXQKIyBDT05GSUdfQ09O TkVDVE9SIGlzIG5vdCBzZXQKIyBDT05GSUdfTVREIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFSUE9S VCBpcyBub3Qgc2V0CkNPTkZJR19CTEtfREVWPXkKIyBDT05GSUdfQkxLX0NQUV9DSVNTX0RBIGlz IG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9EQUM5NjAgaXMgbm90IHNldAojIENPTkZJR19CTEtf REVWX1VNRU0gaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX0NPV19DT01NT04gaXMgbm90IHNl dAojIENPTkZJR19CTEtfREVWX0xPT1AgaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX05CRCBp cyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfU1g4IGlzIG5vdCBzZXQKQ09ORklHX0JMS19ERVZf UkFNPXkKQ09ORklHX0JMS19ERVZfUkFNX0NPVU5UPTE2CkNPTkZJR19CTEtfREVWX1JBTV9TSVpF PTQwOTYKQ09ORklHX0JMS19ERVZfUkFNX0JMT0NLU0laRT0xMDI0CiMgQ09ORklHX0NEUk9NX1BL VENEVkQgaXMgbm90IHNldAojIENPTkZJR19BVEFfT1ZFUl9FVEggaXMgbm90IHNldApDT05GSUdf TUlTQ19ERVZJQ0VTPXkKIyBDT05GSUdfUEhBTlRPTSBpcyBub3Qgc2V0CiMgQ09ORklHX0VFUFJP TV85M0NYNiBpcyBub3Qgc2V0CiMgQ09ORklHX1NHSV9JT0M0IGlzIG5vdCBzZXQKIyBDT05GSUdf VElGTV9DT1JFIGlzIG5vdCBzZXQKIyBDT05GSUdfSURFIGlzIG5vdCBzZXQKCiMKIyBTQ1NJIGRl dmljZSBzdXBwb3J0CiMKIyBDT05GSUdfUkFJRF9BVFRSUyBpcyBub3Qgc2V0CkNPTkZJR19TQ1NJ PXkKQ09ORklHX1NDU0lfRE1BPXkKIyBDT05GSUdfU0NTSV9UR1QgaXMgbm90IHNldAojIENPTkZJ R19TQ1NJX05FVExJTksgaXMgbm90IHNldApDT05GSUdfU0NTSV9QUk9DX0ZTPXkKCiMKIyBTQ1NJ IHN1cHBvcnQgdHlwZSAoZGlzaywgdGFwZSwgQ0QtUk9NKQojCkNPTkZJR19CTEtfREVWX1NEPXkK IyBDT05GSUdfQ0hSX0RFVl9TVCBpcyBub3Qgc2V0CiMgQ09ORklHX0NIUl9ERVZfT1NTVCBpcyBu b3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfU1IgaXMgbm90IHNldAojIENPTkZJR19DSFJfREVWX1NH IGlzIG5vdCBzZXQKIyBDT05GSUdfQ0hSX0RFVl9TQ0ggaXMgbm90IHNldAoKIwojIFNvbWUgU0NT SSBkZXZpY2VzIChlLmcuIENEIGp1a2Vib3gpIHN1cHBvcnQgbXVsdGlwbGUgTFVOcwojCiMgQ09O RklHX1NDU0lfTVVMVElfTFVOIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9DT05TVEFOVFMgaXMg bm90IHNldAojIENPTkZJR19TQ1NJX0xPR0dJTkcgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX1ND QU5fQVNZTkMgaXMgbm90IHNldApDT05GSUdfU0NTSV9XQUlUX1NDQU49bQoKIwojIFNDU0kgVHJh bnNwb3J0cwojCiMgQ09ORklHX1NDU0lfU1BJX0FUVFJTIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NT SV9GQ19BVFRSUyBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfSVNDU0lfQVRUUlMgaXMgbm90IHNl dAojIENPTkZJR19TQ1NJX1NBU19MSUJTQVMgaXMgbm90IHNldApDT05GSUdfU0NTSV9MT1dMRVZF TD15CiMgQ09ORklHX0lTQ1NJX1RDUCBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfM1dfWFhY WF9SQUlEIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV8zV185WFhYIGlzIG5vdCBzZXQKIyBDT05G SUdfU0NTSV9BQ0FSRCBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfQUFDUkFJRCBpcyBub3Qgc2V0 CiMgQ09ORklHX1NDU0lfQUlDN1hYWCBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfQUlDN1hYWF9P TEQgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX0FJQzc5WFggaXMgbm90IHNldAojIENPTkZJR19T Q1NJX0FJQzk0WFggaXMgbm90IHNldAojIENPTkZJR19TQ1NJX0FSQ01TUiBpcyBub3Qgc2V0CiMg Q09ORklHX01FR0FSQUlEX05FV0dFTiBpcyBub3Qgc2V0CiMgQ09ORklHX01FR0FSQUlEX0xFR0FD WSBpcyBub3Qgc2V0CiMgQ09ORklHX01FR0FSQUlEX1NBUyBpcyBub3Qgc2V0CiMgQ09ORklHX1ND U0lfSFBUSU9QIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9ETVgzMTkxRCBpcyBub3Qgc2V0CiMg Q09ORklHX1NDU0lfRlVUVVJFX0RPTUFJTiBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfSVBTIGlz IG5vdCBzZXQKIyBDT05GSUdfU0NTSV9JTklUSU8gaXMgbm90IHNldAojIENPTkZJR19TQ1NJX0lO SUExMDAgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX1NURVggaXMgbm90IHNldAojIENPTkZJR19T Q1NJX1NZTTUzQzhYWF8yIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9RTE9HSUNfMTI4MCBpcyBu b3Qgc2V0CiMgQ09ORklHX1NDU0lfUUxBX0ZDIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9RTEFf SVNDU0kgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX0xQRkMgaXMgbm90IHNldAojIENPTkZJR19T Q1NJX0RDMzk1eCBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfREMzOTBUIGlzIG5vdCBzZXQKIyBD T05GSUdfU0NTSV9OU1AzMiBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfREVCVUcgaXMgbm90IHNl dAojIENPTkZJR19TQ1NJX1NSUCBpcyBub3Qgc2V0CiMgQ09ORklHX0FUQSBpcyBub3Qgc2V0CiMg Q09ORklHX01EIGlzIG5vdCBzZXQKCiMKIyBGdXNpb24gTVBUIGRldmljZSBzdXBwb3J0CiMKIyBD T05GSUdfRlVTSU9OIGlzIG5vdCBzZXQKIyBDT05GSUdfRlVTSU9OX1NQSSBpcyBub3Qgc2V0CiMg Q09ORklHX0ZVU0lPTl9GQyBpcyBub3Qgc2V0CiMgQ09ORklHX0ZVU0lPTl9TQVMgaXMgbm90IHNl dAoKIwojIElFRUUgMTM5NCAoRmlyZVdpcmUpIHN1cHBvcnQKIwojIENPTkZJR19GSVJFV0lSRSBp cyBub3Qgc2V0CiMgQ09ORklHX0lFRUUxMzk0IGlzIG5vdCBzZXQKIyBDT05GSUdfSTJPIGlzIG5v dCBzZXQKQ09ORklHX05FVERFVklDRVM9eQojIENPTkZJR19ORVRERVZJQ0VTX01VTFRJUVVFVUUg aXMgbm90IHNldAojIENPTkZJR19EVU1NWSBpcyBub3Qgc2V0CiMgQ09ORklHX0JPTkRJTkcgaXMg bm90IHNldAojIENPTkZJR19NQUNWTEFOIGlzIG5vdCBzZXQKIyBDT05GSUdfRVFVQUxJWkVSIGlz IG5vdCBzZXQKIyBDT05GSUdfVFVOIGlzIG5vdCBzZXQKIyBDT05GSUdfQVJDTkVUIGlzIG5vdCBz ZXQKIyBDT05GSUdfUEhZTElCIGlzIG5vdCBzZXQKQ09ORklHX05FVF9FVEhFUk5FVD15CkNPTkZJ R19NSUk9eQojIENPTkZJR19TVE5JQyBpcyBub3Qgc2V0CiMgQ09ORklHX0hBUFBZTUVBTCBpcyBu b3Qgc2V0CiMgQ09ORklHX1NVTkdFTSBpcyBub3Qgc2V0CiMgQ09ORklHX0NBU1NJTkkgaXMgbm90 IHNldAojIENPTkZJR19ORVRfVkVORE9SXzNDT00gaXMgbm90IHNldAojIENPTkZJR19TTUM5MVgg aXMgbm90IHNldAojIENPTkZJR19ORVRfVFVMSVAgaXMgbm90IHNldAojIENPTkZJR19IUDEwMCBp cyBub3Qgc2V0CkNPTkZJR19ORVRfUENJPXkKIyBDT05GSUdfUENORVQzMiBpcyBub3Qgc2V0CiMg Q09ORklHX0FNRDgxMTFfRVRIIGlzIG5vdCBzZXQKIyBDT05GSUdfQURBUFRFQ19TVEFSRklSRSBp cyBub3Qgc2V0CiMgQ09ORklHX0I0NCBpcyBub3Qgc2V0CiMgQ09ORklHX0ZPUkNFREVUSCBpcyBu b3Qgc2V0CiMgQ09ORklHX0RHUlMgaXMgbm90IHNldAojIENPTkZJR19FRVBSTzEwMCBpcyBub3Qg c2V0CiMgQ09ORklHX0UxMDAgaXMgbm90IHNldAojIENPTkZJR19GRUFMTlggaXMgbm90IHNldAoj IENPTkZJR19OQVRTRU1JIGlzIG5vdCBzZXQKIyBDT05GSUdfTkUyS19QQ0kgaXMgbm90IHNldAoj IENPTkZJR184MTM5Q1AgaXMgbm90IHNldApDT05GSUdfODEzOVRPTz15CiMgQ09ORklHXzgxMzlU T09fUElPIGlzIG5vdCBzZXQKIyBDT05GSUdfODEzOVRPT19UVU5FX1RXSVNURVIgaXMgbm90IHNl dAojIENPTkZJR184MTM5VE9PXzgxMjkgaXMgbm90IHNldAojIENPTkZJR184MTM5X09MRF9SWF9S RVNFVCBpcyBub3Qgc2V0CiMgQ09ORklHX1NJUzkwMCBpcyBub3Qgc2V0CiMgQ09ORklHX0VQSUMx MDAgaXMgbm90IHNldAojIENPTkZJR19TVU5EQU5DRSBpcyBub3Qgc2V0CiMgQ09ORklHX1RMQU4g aXMgbm90IHNldAojIENPTkZJR19WSUFfUkhJTkUgaXMgbm90IHNldAojIENPTkZJR19TQzkyMDMx IGlzIG5vdCBzZXQKQ09ORklHX05FVERFVl8xMDAwPXkKIyBDT05GSUdfQUNFTklDIGlzIG5vdCBz ZXQKIyBDT05GSUdfREwySyBpcyBub3Qgc2V0CiMgQ09ORklHX0UxMDAwIGlzIG5vdCBzZXQKIyBD T05GSUdfTlM4MzgyMCBpcyBub3Qgc2V0CiMgQ09ORklHX0hBTUFDSEkgaXMgbm90IHNldAojIENP TkZJR19ZRUxMT1dGSU4gaXMgbm90IHNldAojIENPTkZJR19SODE2OSBpcyBub3Qgc2V0CiMgQ09O RklHX1NJUzE5MCBpcyBub3Qgc2V0CiMgQ09ORklHX1NLR0UgaXMgbm90IHNldAojIENPTkZJR19T S1kyIGlzIG5vdCBzZXQKIyBDT05GSUdfVklBX1ZFTE9DSVRZIGlzIG5vdCBzZXQKIyBDT05GSUdf VElHT04zIGlzIG5vdCBzZXQKIyBDT05GSUdfQk5YMiBpcyBub3Qgc2V0CiMgQ09ORklHX1FMQTNY WFggaXMgbm90IHNldAojIENPTkZJR19BVEwxIGlzIG5vdCBzZXQKQ09ORklHX05FVERFVl8xMDAw MD15CiMgQ09ORklHX0NIRUxTSU9fVDEgaXMgbm90IHNldAojIENPTkZJR19DSEVMU0lPX1QzIGlz IG5vdCBzZXQKIyBDT05GSUdfSVhHQiBpcyBub3Qgc2V0CiMgQ09ORklHX1MySU8gaXMgbm90IHNl dAojIENPTkZJR19NWVJJMTBHRSBpcyBub3Qgc2V0CiMgQ09ORklHX05FVFhFTl9OSUMgaXMgbm90 IHNldAojIENPTkZJR19NTFg0X0NPUkUgaXMgbm90IHNldAojIENPTkZJR19UUiBpcyBub3Qgc2V0 CgojCiMgV2lyZWxlc3MgTEFOCiMKIyBDT05GSUdfV0xBTl9QUkU4MDIxMSBpcyBub3Qgc2V0CiMg Q09ORklHX1dMQU5fODAyMTEgaXMgbm90IHNldAojIENPTkZJR19XQU4gaXMgbm90IHNldAojIENP TkZJR19GRERJIGlzIG5vdCBzZXQKIyBDT05GSUdfSElQUEkgaXMgbm90IHNldAojIENPTkZJR19Q UFAgaXMgbm90IHNldAojIENPTkZJR19TTElQIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX0ZDIGlz IG5vdCBzZXQKIyBDT05GSUdfU0hBUEVSIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUQ09OU09MRSBp cyBub3Qgc2V0CiMgQ09ORklHX05FVFBPTEwgaXMgbm90IHNldAojIENPTkZJR19ORVRfUE9MTF9D T05UUk9MTEVSIGlzIG5vdCBzZXQKIyBDT05GSUdfSVNETiBpcyBub3Qgc2V0CiMgQ09ORklHX1BI T05FIGlzIG5vdCBzZXQKCiMKIyBJbnB1dCBkZXZpY2Ugc3VwcG9ydAojCkNPTkZJR19JTlBVVD15 CiMgQ09ORklHX0lOUFVUX0ZGX01FTUxFU1MgaXMgbm90IHNldAojIENPTkZJR19JTlBVVF9QT0xM REVWIGlzIG5vdCBzZXQKCiMKIyBVc2VybGFuZCBpbnRlcmZhY2VzCiMKIyBDT05GSUdfSU5QVVRf TU9VU0VERVYgaXMgbm90IHNldAojIENPTkZJR19JTlBVVF9KT1lERVYgaXMgbm90IHNldAojIENP TkZJR19JTlBVVF9UU0RFViBpcyBub3Qgc2V0CiMgQ09ORklHX0lOUFVUX0VWREVWIGlzIG5vdCBz ZXQKIyBDT05GSUdfSU5QVVRfRVZCVUcgaXMgbm90IHNldAoKIwojIElucHV0IERldmljZSBEcml2 ZXJzCiMKIyBDT05GSUdfSU5QVVRfS0VZQk9BUkQgaXMgbm90IHNldAojIENPTkZJR19JTlBVVF9N T1VTRSBpcyBub3Qgc2V0CiMgQ09ORklHX0lOUFVUX0pPWVNUSUNLIGlzIG5vdCBzZXQKIyBDT05G SUdfSU5QVVRfVEFCTEVUIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU4gaXMg bm90IHNldAojIENPTkZJR19JTlBVVF9NSVNDIGlzIG5vdCBzZXQKCiMKIyBIYXJkd2FyZSBJL08g cG9ydHMKIwojIENPTkZJR19TRVJJTyBpcyBub3Qgc2V0CiMgQ09ORklHX0dBTUVQT1JUIGlzIG5v dCBzZXQKCiMKIyBDaGFyYWN0ZXIgZGV2aWNlcwojCkNPTkZJR19WVD15CkNPTkZJR19WVF9DT05T T0xFPXkKQ09ORklHX0hXX0NPTlNPTEU9eQpDT05GSUdfVlRfSFdfQ09OU09MRV9CSU5ESU5HPXkK IyBDT05GSUdfU0VSSUFMX05PTlNUQU5EQVJEIGlzIG5vdCBzZXQKCiMKIyBTZXJpYWwgZHJpdmVy cwojCkNPTkZJR19TRVJJQUxfODI1MD15CiMgQ09ORklHX1NFUklBTF84MjUwX0NPTlNPTEUgaXMg bm90IHNldApDT05GSUdfU0VSSUFMXzgyNTBfUENJPXkKQ09ORklHX1NFUklBTF84MjUwX05SX1VB UlRTPTQKQ09ORklHX1NFUklBTF84MjUwX1JVTlRJTUVfVUFSVFM9NAojIENPTkZJR19TRVJJQUxf ODI1MF9FWFRFTkRFRCBpcyBub3Qgc2V0CgojCiMgTm9uLTgyNTAgc2VyaWFsIHBvcnQgc3VwcG9y dAojCkNPTkZJR19TRVJJQUxfU0hfU0NJPXkKQ09ORklHX1NFUklBTF9TSF9TQ0lfTlJfVUFSVFM9 MQpDT05GSUdfU0VSSUFMX1NIX1NDSV9DT05TT0xFPXkKQ09ORklHX1NFUklBTF9DT1JFPXkKQ09O RklHX1NFUklBTF9DT1JFX0NPTlNPTEU9eQojIENPTkZJR19TRVJJQUxfSlNNIGlzIG5vdCBzZXQK Q09ORklHX1VOSVg5OF9QVFlTPXkKQ09ORklHX0xFR0FDWV9QVFlTPXkKQ09ORklHX0xFR0FDWV9Q VFlfQ09VTlQ9MjU2CiMgQ09ORklHX0lQTUlfSEFORExFUiBpcyBub3Qgc2V0CiMgQ09ORklHX1dB VENIRE9HIGlzIG5vdCBzZXQKQ09ORklHX0hXX1JBTkRPTT15CiMgQ09ORklHX1IzOTY0IGlzIG5v dCBzZXQKIyBDT05GSUdfQVBQTElDT00gaXMgbm90IHNldAojIENPTkZJR19EUk0gaXMgbm90IHNl dAojIENPTkZJR19SQVdfRFJJVkVSIGlzIG5vdCBzZXQKIyBDT05GSUdfVENHX1RQTSBpcyBub3Qg c2V0CkNPTkZJR19ERVZQT1JUPXkKIyBDT05GSUdfSTJDIGlzIG5vdCBzZXQKCiMKIyBTUEkgc3Vw cG9ydAojCiMgQ09ORklHX1NQSSBpcyBub3Qgc2V0CiMgQ09ORklHX1NQSV9NQVNURVIgaXMgbm90 IHNldAojIENPTkZJR19XMSBpcyBub3Qgc2V0CiMgQ09ORklHX1BPV0VSX1NVUFBMWSBpcyBub3Qg c2V0CkNPTkZJR19IV01PTj15CiMgQ09ORklHX0hXTU9OX1ZJRCBpcyBub3Qgc2V0CiMgQ09ORklH X1NFTlNPUlNfQUJJVFVHVVJVIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19BQklUVUdVUlUz IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19GNzE4MDVGIGlzIG5vdCBzZXQKIyBDT05GSUdf U0VOU09SU19JVDg3IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19QQzg3MzYwIGlzIG5vdCBz ZXQKIyBDT05GSUdfU0VOU09SU19QQzg3NDI3IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19T SVM1NTk1IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19TTVNDNDdNMSBpcyBub3Qgc2V0CiMg Q09ORklHX1NFTlNPUlNfU01TQzQ3QjM5NyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfVklB Njg2QSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfVlQxMjExIGlzIG5vdCBzZXQKIyBDT05G SUdfU0VOU09SU19WVDgyMzEgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX1c4MzYyN0hGIGlz IG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19XODM2MjdFSEYgaXMgbm90IHNldAojIENPTkZJR19I V01PTl9ERUJVR19DSElQIGlzIG5vdCBzZXQKCiMKIyBNdWx0aWZ1bmN0aW9uIGRldmljZSBkcml2 ZXJzCiMKQ09ORklHX01GRF9TTTUwMT15CgojCiMgTXVsdGltZWRpYSBkZXZpY2VzCiMKIyBDT05G SUdfVklERU9fREVWIGlzIG5vdCBzZXQKIyBDT05GSUdfRFZCX0NPUkUgaXMgbm90IHNldApDT05G SUdfREFCPXkKCiMKIyBHcmFwaGljcyBzdXBwb3J0CiMKIyBDT05GSUdfQkFDS0xJR0hUX0xDRF9T VVBQT1JUIGlzIG5vdCBzZXQKCiMKIyBEaXNwbGF5IGRldmljZSBzdXBwb3J0CiMKIyBDT05GSUdf RElTUExBWV9TVVBQT1JUIGlzIG5vdCBzZXQKIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldApD T05GSUdfVklERU9fT1VUUFVUX0NPTlRST0w9bQpDT05GSUdfRkI9eQojIENPTkZJR19GSVJNV0FS RV9FRElEIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfRERDIGlzIG5vdCBzZXQKQ09ORklHX0ZCX0NG Ql9GSUxMUkVDVD15CkNPTkZJR19GQl9DRkJfQ09QWUFSRUE9eQpDT05GSUdfRkJfQ0ZCX0lNQUdF QkxJVD15CiMgQ09ORklHX0ZCX1NZU19GSUxMUkVDVCBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX1NZ U19DT1BZQVJFQSBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX1NZU19JTUFHRUJMSVQgaXMgbm90IHNl dAojIENPTkZJR19GQl9TWVNfRk9QUyBpcyBub3Qgc2V0CkNPTkZJR19GQl9ERUZFUlJFRF9JTz15 CiMgQ09ORklHX0ZCX1NWR0FMSUIgaXMgbm90IHNldAojIENPTkZJR19GQl9NQUNNT0RFUyBpcyBu b3Qgc2V0CiMgQ09ORklHX0ZCX0JBQ0tMSUdIVCBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX01PREVf SEVMUEVSUyBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX1RJTEVCTElUVElORyBpcyBub3Qgc2V0Cgoj CiMgRnJhbWUgYnVmZmVyIGhhcmR3YXJlIGRyaXZlcnMKIwojIENPTkZJR19GQl9DSVJSVVMgaXMg bm90IHNldAojIENPTkZJR19GQl9QTTIgaXMgbm90IHNldAojIENPTkZJR19GQl9DWUJFUjIwMDAg aXMgbm90IHNldAojIENPTkZJR19GQl9BU0lMSUFOVCBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX0lN U1RUIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfUzFEMTNYWFggaXMgbm90IHNldAojIENPTkZJR19G Ql9OVklESUEgaXMgbm90IHNldAojIENPTkZJR19GQl9SSVZBIGlzIG5vdCBzZXQKIyBDT05GSUdf RkJfTUFUUk9YIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfUkFERU9OIGlzIG5vdCBzZXQKIyBDT05G SUdfRkJfQVRZMTI4IGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfQVRZIGlzIG5vdCBzZXQKIyBDT05G SUdfRkJfUzMgaXMgbm90IHNldAojIENPTkZJR19GQl9TQVZBR0UgaXMgbm90IHNldAojIENPTkZJ R19GQl9TSVMgaXMgbm90IHNldAojIENPTkZJR19GQl9ORU9NQUdJQyBpcyBub3Qgc2V0CiMgQ09O RklHX0ZCX0tZUk8gaXMgbm90IHNldAojIENPTkZJR19GQl8zREZYIGlzIG5vdCBzZXQKIyBDT05G SUdfRkJfVk9PRE9PMSBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX1ZUODYyMyBpcyBub3Qgc2V0CiMg Q09ORklHX0ZCX1RSSURFTlQgaXMgbm90IHNldAojIENPTkZJR19GQl9BUksgaXMgbm90IHNldAoj IENPTkZJR19GQl9QTTMgaXMgbm90IHNldApDT05GSUdfRkJfU001MDE9eQojIENPTkZJR19GQl9W SVJUVUFMIGlzIG5vdCBzZXQKCiMKIyBDb25zb2xlIGRpc3BsYXkgZHJpdmVyIHN1cHBvcnQKIwpD T05GSUdfRFVNTVlfQ09OU09MRT15CkNPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFPXkKIyBDT05G SUdfRlJBTUVCVUZGRVJfQ09OU09MRV9ERVRFQ1RfUFJJTUFSWSBpcyBub3Qgc2V0CiMgQ09ORklH X0ZSQU1FQlVGRkVSX0NPTlNPTEVfUk9UQVRJT04gaXMgbm90IHNldAojIENPTkZJR19GT05UUyBp cyBub3Qgc2V0CkNPTkZJR19GT05UXzh4OD15CkNPTkZJR19GT05UXzh4MTY9eQpDT05GSUdfTE9H Tz15CiMgQ09ORklHX0xPR09fTElOVVhfTU9OTyBpcyBub3Qgc2V0CiMgQ09ORklHX0xPR09fTElO VVhfVkdBMTYgaXMgbm90IHNldAojIENPTkZJR19MT0dPX0xJTlVYX0NMVVQyMjQgaXMgbm90IHNl dAojIENPTkZJR19MT0dPX1NVUEVSSF9NT05PIGlzIG5vdCBzZXQKIyBDT05GSUdfTE9HT19TVVBF UkhfVkdBMTYgaXMgbm90IHNldApDT05GSUdfTE9HT19TVVBFUkhfQ0xVVDIyND15CgojCiMgU291 bmQKIwpDT05GSUdfU09VTkQ9eQoKIwojIEFkdmFuY2VkIExpbnV4IFNvdW5kIEFyY2hpdGVjdHVy ZQojCkNPTkZJR19TTkQ9bQpDT05GSUdfU05EX1RJTUVSPW0KQ09ORklHX1NORF9QQ009bQpDT05G SUdfU05EX0hXREVQPW0KQ09ORklHX1NORF9SQVdNSURJPW0KIyBDT05GSUdfU05EX1NFUVVFTkNF UiBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9NSVhFUl9PU1MgaXMgbm90IHNldAojIENPTkZJR19T TkRfUENNX09TUyBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9EWU5BTUlDX01JTk9SUyBpcyBub3Qg c2V0CkNPTkZJR19TTkRfU1VQUE9SVF9PTERfQVBJPXkKQ09ORklHX1NORF9WRVJCT1NFX1BST0NG Uz15CiMgQ09ORklHX1NORF9WRVJCT1NFX1BSSU5USyBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9E RUJVRyBpcyBub3Qgc2V0CgojCiMgR2VuZXJpYyBkZXZpY2VzCiMKQ09ORklHX1NORF9NUFU0MDFf VUFSVD1tCkNPTkZJR19TTkRfT1BMM19MSUI9bQpDT05GSUdfU05EX0FDOTdfQ09ERUM9bQojIENP TkZJR19TTkRfRFVNTVkgaXMgbm90IHNldAojIENPTkZJR19TTkRfTVRQQVYgaXMgbm90IHNldAoj IENPTkZJR19TTkRfU0VSSUFMX1UxNjU1MCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9NUFU0MDEg aXMgbm90IHNldAoKIwojIFBDSSBkZXZpY2VzCiMKIyBDT05GSUdfU05EX0FEMTg4OSBpcyBub3Qg c2V0CiMgQ09ORklHX1NORF9BTFMzMDAgaXMgbm90IHNldAojIENPTkZJR19TTkRfQUxJNTQ1MSBp cyBub3Qgc2V0CiMgQ09ORklHX1NORF9BVElJWFAgaXMgbm90IHNldAojIENPTkZJR19TTkRfQVRJ SVhQX01PREVNIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0FVODgxMCBpcyBub3Qgc2V0CiMgQ09O RklHX1NORF9BVTg4MjAgaXMgbm90IHNldAojIENPTkZJR19TTkRfQVU4ODMwIGlzIG5vdCBzZXQK IyBDT05GSUdfU05EX0FaVDMzMjggaXMgbm90IHNldAojIENPTkZJR19TTkRfQlQ4N1ggaXMgbm90 IHNldAojIENPTkZJR19TTkRfQ0EwMTA2IGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0NNSVBDSSBp cyBub3Qgc2V0CiMgQ09ORklHX1NORF9DUzQyODEgaXMgbm90IHNldAojIENPTkZJR19TTkRfQ1M0 NlhYIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0RBUkxBMjAgaXMgbm90IHNldAojIENPTkZJR19T TkRfR0lOQTIwIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0xBWUxBMjAgaXMgbm90IHNldAojIENP TkZJR19TTkRfREFSTEEyNCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9HSU5BMjQgaXMgbm90IHNl dAojIENPTkZJR19TTkRfTEFZTEEyNCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9NT05BIGlzIG5v dCBzZXQKIyBDT05GSUdfU05EX01JQSBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9FQ0hPM0cgaXMg bm90IHNldAojIENPTkZJR19TTkRfSU5ESUdPIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0lORElH T0lPIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0lORElHT0RKIGlzIG5vdCBzZXQKIyBDT05GSUdf U05EX0VNVTEwSzEgaXMgbm90IHNldAojIENPTkZJR19TTkRfRU1VMTBLMVggaXMgbm90IHNldAoj IENPTkZJR19TTkRfRU5TMTM3MCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9FTlMxMzcxIGlzIG5v dCBzZXQKIyBDT05GSUdfU05EX0VTMTkzOCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9FUzE5Njgg aXMgbm90IHNldAojIENPTkZJR19TTkRfRk04MDEgaXMgbm90IHNldAojIENPTkZJR19TTkRfSERB X0lOVEVMIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0hEU1AgaXMgbm90IHNldAojIENPTkZJR19T TkRfSERTUE0gaXMgbm90IHNldAojIENPTkZJR19TTkRfSUNFMTcxMiBpcyBub3Qgc2V0CiMgQ09O RklHX1NORF9JQ0UxNzI0IGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0lOVEVMOFgwIGlzIG5vdCBz ZXQKIyBDT05GSUdfU05EX0lOVEVMOFgwTSBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9LT1JHMTIx MiBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9NQUVTVFJPMyBpcyBub3Qgc2V0CiMgQ09ORklHX1NO RF9NSVhBUlQgaXMgbm90IHNldAojIENPTkZJR19TTkRfTk0yNTYgaXMgbm90IHNldAojIENPTkZJ R19TTkRfUENYSFIgaXMgbm90IHNldAojIENPTkZJR19TTkRfUklQVElERSBpcyBub3Qgc2V0CiMg Q09ORklHX1NORF9STUUzMiBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9STUU5NiBpcyBub3Qgc2V0 CiMgQ09ORklHX1NORF9STUU5NjUyIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX1NPTklDVklCRVMg aXMgbm90IHNldAojIENPTkZJR19TTkRfVFJJREVOVCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9W SUE4MlhYIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX1ZJQTgyWFhfTU9ERU0gaXMgbm90IHNldAoj IENPTkZJR19TTkRfVlgyMjIgaXMgbm90IHNldApDT05GSUdfU05EX1lNRlBDST1tCkNPTkZJR19T TkRfWU1GUENJX0ZJUk1XQVJFX0lOX0tFUk5FTD15CiMgQ09ORklHX1NORF9BQzk3X1BPV0VSX1NB VkUgaXMgbm90IHNldAoKIwojIFNVUEVSSCBkZXZpY2VzCiMKCiMKIyBTeXN0ZW0gb24gQ2hpcCBh dWRpbyBzdXBwb3J0CiMKIyBDT05GSUdfU05EX1NPQyBpcyBub3Qgc2V0CgojCiMgU29DIEF1ZGlv IHN1cHBvcnQgZm9yIFN1cGVySAojCgojCiMgT3BlbiBTb3VuZCBTeXN0ZW0KIwpDT05GSUdfU09V TkRfUFJJTUU9bQojIENPTkZJR19TT1VORF9UUklERU5UIGlzIG5vdCBzZXQKIyBDT05GSUdfU09V TkRfTVNORENMQVMgaXMgbm90IHNldAojIENPTkZJR19TT1VORF9NU05EUElOIGlzIG5vdCBzZXQK Q09ORklHX0FDOTdfQlVTPW0KQ09ORklHX0hJRF9TVVBQT1JUPXkKQ09ORklHX0hJRD15CiMgQ09O RklHX0hJRF9ERUJVRyBpcyBub3Qgc2V0CkNPTkZJR19VU0JfU1VQUE9SVD15CkNPTkZJR19VU0Jf QVJDSF9IQVNfSENEPXkKQ09ORklHX1VTQl9BUkNIX0hBU19PSENJPXkKQ09ORklHX1VTQl9BUkNI X0hBU19FSENJPXkKIyBDT05GSUdfVVNCIGlzIG5vdCBzZXQKCiMKIyBOT1RFOiBVU0JfU1RPUkFH RSBlbmFibGVzIFNDU0ksIGFuZCAnU0NTSSBkaXNrIHN1cHBvcnQnCiMKCiMKIyBVU0IgR2FkZ2V0 IFN1cHBvcnQKIwojIENPTkZJR19VU0JfR0FER0VUIGlzIG5vdCBzZXQKIyBDT05GSUdfTU1DIGlz IG5vdCBzZXQKIyBDT05GSUdfTkVXX0xFRFMgaXMgbm90IHNldAojIENPTkZJR19JTkZJTklCQU5E IGlzIG5vdCBzZXQKQ09ORklHX1JUQ19MSUI9eQpDT05GSUdfUlRDX0NMQVNTPXkKQ09ORklHX1JU Q19IQ1RPU1lTPXkKQ09ORklHX1JUQ19IQ1RPU1lTX0RFVklDRT0icnRjMCIKIyBDT05GSUdfUlRD X0RFQlVHIGlzIG5vdCBzZXQKCiMKIyBSVEMgaW50ZXJmYWNlcwojCkNPTkZJR19SVENfSU5URl9T WVNGUz15CkNPTkZJR19SVENfSU5URl9QUk9DPXkKQ09ORklHX1JUQ19JTlRGX0RFVj15CiMgQ09O RklHX1JUQ19JTlRGX0RFVl9VSUVfRU1VTCBpcyBub3Qgc2V0CiMgQ09ORklHX1JUQ19EUlZfVEVT VCBpcyBub3Qgc2V0CgojCiMgU1BJIFJUQyBkcml2ZXJzCiMKCiMKIyBQbGF0Zm9ybSBSVEMgZHJp dmVycwojCiMgQ09ORklHX1JUQ19EUlZfRFMxNTUzIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRDX0RS Vl9TVEsxN1RBOCBpcyBub3Qgc2V0CiMgQ09ORklHX1JUQ19EUlZfRFMxNzQyIGlzIG5vdCBzZXQK IyBDT05GSUdfUlRDX0RSVl9NNDhUODYgaXMgbm90IHNldAojIENPTkZJR19SVENfRFJWX000OFQ1 OSBpcyBub3Qgc2V0CiMgQ09ORklHX1JUQ19EUlZfVjMwMjAgaXMgbm90IHNldAoKIwojIG9uLUNQ VSBSVEMgZHJpdmVycwojCkNPTkZJR19SVENfRFJWX1NIPXkKCiMKIyBETUEgRW5naW5lIHN1cHBv cnQKIwojIENPTkZJR19ETUFfRU5HSU5FIGlzIG5vdCBzZXQKCiMKIyBETUEgQ2xpZW50cwojCgoj CiMgRE1BIERldmljZXMKIwoKIwojIFVzZXJzcGFjZSBJL08KIwojIENPTkZJR19VSU8gaXMgbm90 IHNldAoKIwojIEZpbGUgc3lzdGVtcwojCkNPTkZJR19FWFQyX0ZTPXkKIyBDT05GSUdfRVhUMl9G U19YQVRUUiBpcyBub3Qgc2V0CiMgQ09ORklHX0VYVDJfRlNfWElQIGlzIG5vdCBzZXQKIyBDT05G SUdfRVhUM19GUyBpcyBub3Qgc2V0CiMgQ09ORklHX0VYVDRERVZfRlMgaXMgbm90IHNldAojIENP TkZJR19SRUlTRVJGU19GUyBpcyBub3Qgc2V0CiMgQ09ORklHX0pGU19GUyBpcyBub3Qgc2V0CiMg Q09ORklHX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CiMgQ09ORklHX1hGU19GUyBpcyBub3Qgc2V0 CiMgQ09ORklHX0dGUzJfRlMgaXMgbm90IHNldAojIENPTkZJR19PQ0ZTMl9GUyBpcyBub3Qgc2V0 CkNPTkZJR19NSU5JWF9GUz15CiMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKQ09ORklHX0lO T1RJRlk9eQpDT05GSUdfSU5PVElGWV9VU0VSPXkKIyBDT05GSUdfUVVPVEEgaXMgbm90IHNldApD T05GSUdfRE5PVElGWT15CiMgQ09ORklHX0FVVE9GU19GUyBpcyBub3Qgc2V0CiMgQ09ORklHX0FV VE9GUzRfRlMgaXMgbm90IHNldAojIENPTkZJR19GVVNFX0ZTIGlzIG5vdCBzZXQKCiMKIyBDRC1S T00vRFZEIEZpbGVzeXN0ZW1zCiMKIyBDT05GSUdfSVNPOTY2MF9GUyBpcyBub3Qgc2V0CiMgQ09O RklHX1VERl9GUyBpcyBub3Qgc2V0CgojCiMgRE9TL0ZBVC9OVCBGaWxlc3lzdGVtcwojCkNPTkZJ R19GQVRfRlM9eQpDT05GSUdfTVNET1NfRlM9eQpDT05GSUdfVkZBVF9GUz15CkNPTkZJR19GQVRf REVGQVVMVF9DT0RFUEFHRT00MzcKQ09ORklHX0ZBVF9ERUZBVUxUX0lPQ0hBUlNFVD0iaXNvODg1 OS0xIgojIENPTkZJR19OVEZTX0ZTIGlzIG5vdCBzZXQKCiMKIyBQc2V1ZG8gZmlsZXN5c3RlbXMK IwpDT05GSUdfUFJPQ19GUz15CkNPTkZJR19QUk9DX0tDT1JFPXkKQ09ORklHX1BST0NfU1lTQ1RM PXkKQ09ORklHX1NZU0ZTPXkKQ09ORklHX1RNUEZTPXkKIyBDT05GSUdfVE1QRlNfUE9TSVhfQUNM IGlzIG5vdCBzZXQKIyBDT05GSUdfSFVHRVRMQkZTIGlzIG5vdCBzZXQKIyBDT05GSUdfSFVHRVRM Ql9QQUdFIGlzIG5vdCBzZXQKQ09ORklHX1JBTUZTPXkKIyBDT05GSUdfQ09ORklHRlNfRlMgaXMg bm90IHNldAoKIwojIE1pc2NlbGxhbmVvdXMgZmlsZXN5c3RlbXMKIwojIENPTkZJR19BREZTX0ZT IGlzIG5vdCBzZXQKIyBDT05GSUdfQUZGU19GUyBpcyBub3Qgc2V0CiMgQ09ORklHX0hGU19GUyBp cyBub3Qgc2V0CiMgQ09ORklHX0hGU1BMVVNfRlMgaXMgbm90IHNldAojIENPTkZJR19CRUZTX0ZT IGlzIG5vdCBzZXQKIyBDT05GSUdfQkZTX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfRUZTX0ZTIGlz IG5vdCBzZXQKIyBDT05GSUdfQ1JBTUZTIGlzIG5vdCBzZXQKIyBDT05GSUdfVlhGU19GUyBpcyBu b3Qgc2V0CiMgQ09ORklHX0hQRlNfRlMgaXMgbm90IHNldAojIENPTkZJR19RTlg0RlNfRlMgaXMg bm90IHNldAojIENPTkZJR19TWVNWX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfVUZTX0ZTIGlzIG5v dCBzZXQKCiMKIyBOZXR3b3JrIEZpbGUgU3lzdGVtcwojCiMgQ09ORklHX05GU19GUyBpcyBub3Qg c2V0CiMgQ09ORklHX05GU0QgaXMgbm90IHNldAojIENPTkZJR19TTUJfRlMgaXMgbm90IHNldAoj IENPTkZJR19DSUZTIGlzIG5vdCBzZXQKIyBDT05GSUdfTkNQX0ZTIGlzIG5vdCBzZXQKIyBDT05G SUdfQ09EQV9GUyBpcyBub3Qgc2V0CiMgQ09ORklHX0FGU19GUyBpcyBub3Qgc2V0CgojCiMgUGFy dGl0aW9uIFR5cGVzCiMKIyBDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEIGlzIG5vdCBzZXQKQ09O RklHX01TRE9TX1BBUlRJVElPTj15CgojCiMgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKIwpDT05G SUdfTkxTPXkKQ09ORklHX05MU19ERUZBVUxUPSJpc284ODU5LTEiCiMgQ09ORklHX05MU19DT0RF UEFHRV80MzcgaXMgbm90IHNldAojIENPTkZJR19OTFNfQ09ERVBBR0VfNzM3IGlzIG5vdCBzZXQK IyBDT05GSUdfTkxTX0NPREVQQUdFXzc3NSBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFH RV84NTAgaXMgbm90IHNldAojIENPTkZJR19OTFNfQ09ERVBBR0VfODUyIGlzIG5vdCBzZXQKIyBD T05GSUdfTkxTX0NPREVQQUdFXzg1NSBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV84 NTcgaXMgbm90IHNldAojIENPTkZJR19OTFNfQ09ERVBBR0VfODYwIGlzIG5vdCBzZXQKIyBDT05G SUdfTkxTX0NPREVQQUdFXzg2MSBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV84NjIg aXMgbm90IHNldAojIENPTkZJR19OTFNfQ09ERVBBR0VfODYzIGlzIG5vdCBzZXQKIyBDT05GSUdf TkxTX0NPREVQQUdFXzg2NCBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV84NjUgaXMg bm90IHNldAojIENPTkZJR19OTFNfQ09ERVBBR0VfODY2IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxT X0NPREVQQUdFXzg2OSBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV85MzYgaXMgbm90 IHNldAojIENPTkZJR19OTFNfQ09ERVBBR0VfOTUwIGlzIG5vdCBzZXQKQ09ORklHX05MU19DT0RF UEFHRV85MzI9eQojIENPTkZJR19OTFNfQ09ERVBBR0VfOTQ5IGlzIG5vdCBzZXQKIyBDT05GSUdf TkxTX0NPREVQQUdFXzg3NCBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19JU084ODU5XzggaXMgbm90 IHNldAojIENPTkZJR19OTFNfQ09ERVBBR0VfMTI1MCBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19D T0RFUEFHRV8xMjUxIGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0FTQ0lJIGlzIG5vdCBzZXQKIyBD T05GSUdfTkxTX0lTTzg4NTlfMSBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19JU084ODU5XzIgaXMg bm90IHNldAojIENPTkZJR19OTFNfSVNPODg1OV8zIGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0lT Tzg4NTlfNCBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19JU084ODU5XzUgaXMgbm90IHNldAojIENP TkZJR19OTFNfSVNPODg1OV82IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0lTTzg4NTlfNyBpcyBu b3Qgc2V0CiMgQ09ORklHX05MU19JU084ODU5XzkgaXMgbm90IHNldAojIENPTkZJR19OTFNfSVNP ODg1OV8xMyBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19JU084ODU5XzE0IGlzIG5vdCBzZXQKIyBD T05GSUdfTkxTX0lTTzg4NTlfMTUgaXMgbm90IHNldAojIENPTkZJR19OTFNfS09JOF9SIGlzIG5v dCBzZXQKIyBDT05GSUdfTkxTX0tPSThfVSBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19VVEY4IGlz IG5vdCBzZXQKCiMKIyBEaXN0cmlidXRlZCBMb2NrIE1hbmFnZXIKIwojIENPTkZJR19ETE0gaXMg bm90IHNldAoKIwojIFByb2ZpbGluZyBzdXBwb3J0CiMKQ09ORklHX1BST0ZJTElORz15CkNPTkZJ R19PUFJPRklMRT15CgojCiMgS2VybmVsIGhhY2tpbmcKIwpDT05GSUdfVFJBQ0VfSVJRRkxBR1Nf U1VQUE9SVD15CiMgQ09ORklHX1BSSU5US19USU1FIGlzIG5vdCBzZXQKQ09ORklHX0VOQUJMRV9N VVNUX0NIRUNLPXkKIyBDT05GSUdfTUFHSUNfU1lTUlEgaXMgbm90IHNldAojIENPTkZJR19VTlVT RURfU1lNQk9MUyBpcyBub3Qgc2V0CiMgQ09ORklHX0RFQlVHX0ZTIGlzIG5vdCBzZXQKIyBDT05G SUdfSEVBREVSU19DSEVDSyBpcyBub3Qgc2V0CiMgQ09ORklHX0RFQlVHX0tFUk5FTCBpcyBub3Qg c2V0CiMgQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0UgaXMgbm90IHNldAojIENPTkZJR19TSF9TVEFO REFSRF9CSU9TIGlzIG5vdCBzZXQKQ09ORklHX0VBUkxZX1NDSUZfQ09OU09MRT15CkNPTkZJR19F QVJMWV9TQ0lGX0NPTlNPTEVfUE9SVD0weGZmZTgwMDAwCkNPTkZJR19FQVJMWV9QUklOVEs9eQoj IENPTkZJR19TSF9LR0RCIGlzIG5vdCBzZXQKCiMKIyBTZWN1cml0eSBvcHRpb25zCiMKIyBDT05G SUdfS0VZUyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFQ1VSSVRZIGlzIG5vdCBzZXQKIyBDT05GSUdf Q1JZUFRPIGlzIG5vdCBzZXQKCiMKIyBMaWJyYXJ5IHJvdXRpbmVzCiMKQ09ORklHX0JJVFJFVkVS U0U9eQojIENPTkZJR19DUkNfQ0NJVFQgaXMgbm90IHNldAojIENPTkZJR19DUkMxNiBpcyBub3Qg c2V0CiMgQ09ORklHX0NSQ19JVFVfVCBpcyBub3Qgc2V0CkNPTkZJR19DUkMzMj15CiMgQ09ORklH X0NSQzcgaXMgbm90IHNldAojIENPTkZJR19MSUJDUkMzMkMgaXMgbm90IHNldApDT05GSUdfUExJ U1Q9eQpDT05GSUdfSEFTX0lPTUVNPXkKQ09ORklHX0hBU19JT1BPUlQ9eQpDT05GSUdfSEFTX0RN QT15Cg== ------=_Part_4102_30098519.1190965864238--