From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeff Bailey Subject: [parisc-linux] Evening snapshot of gas patch Date: Sun, 22 Oct 2006 23:24:37 -0400 Message-ID: <1161573877.5629.50.camel@localhost.localdomain> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1628382915==" Cc: parisc-linux To: John David Anglin Return-Path: List-Id: parisc-linux developers list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: parisc-linux-bounces@lists.parisc-linux.org --===============1628382915== Content-type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-3PWOcOdWbBj5LdvabaGq" --=-3PWOcOdWbBj5LdvabaGq Content-Type: multipart/mixed; boundary="=-57XZxrUUtIsbT7d1FKBe" --=-57XZxrUUtIsbT7d1FKBe Content-Type: text/plain Content-Transfer-Encoding: quoted-printable This version of the patch is not suitable for inclusion, not sending it to the binutils list. =20 The remaining unaddressed problem (until you guys find more, that is *g*) is that the way I've done the hash table it gets setup once when gas is started. This means that a LEVEL directive comes too late to change the registers table. Nothing brilliant has come to mind yet for a good way to solve this, but I'm back to my work week tomorrow, so hopefully over the next few days something will pop into my head. 2006-10-21 Jeff Bailey * config/tc-hppa.c: Do not define DEFAULT_LEVEL. Add variables for architecture size. Add mach member to struct pd_reg and populate pre_defined_registers= . (need_pa11_opcode): Use bfd_mach_hppa11 instead of pa11 for consistency. (need_pa11_opcode): Use defines from bfd.h instead of magic numbers= . (pa_ip): Likewise. (pa_level): Likewise. (pa_parse_number): Use binutils hash instead of home-brew one. (md_begin): Use defines from bfd.h instead of DEFAULT_LEVEL. (init_default_arch): New function. (hppa_target_format): New function. (hppa_print_statistics): New function. (reg_name_search): Removed. (setup_reg_hash): New function. * config/tc-hppa.h: Redefine TARGET_FORMAT as hppa_target_format() and in terms of ELF_TARGET_FORMAT and ELF64_TARGET_FORMAT for OBJ_E= LF. Remove extra definitions of TRUE and FALSE. Use elf64-hppa for 64 bit NetBSD. * configure.in: Define DEFAULT_ARCH for hppa. * configure.tgt: Specify arch for hppa and hppa64. -- Jeff Bailey - http://www.raspberryginger.com/jbailey/ --=-57XZxrUUtIsbT7d1FKBe Content-Disposition: attachment; filename=gas-hppa.diff Content-Type: text/x-patch; name=gas-hppa.diff; charset=UTF-8 Content-Transfer-Encoding: base64 SW5kZXg6IGNvbmZpZ3VyZS5pbg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9jdnMvc3JjL3NyYy9n YXMvY29uZmlndXJlLmluLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4xOTQNCmRpZmYgLXUgLXAg LXIxLjE5NCBjb25maWd1cmUuaW4NCi0tLSBjb25maWd1cmUuaW4JMjAgU2VwIDIwMDYgMTE6MzU6 MTEgLTAwMDAJMS4xOTQNCisrKyBjb25maWd1cmUuaW4JMjMgT2N0IDIwMDYgMDM6MTE6MzQgLTAw MDANCkBAIC0zMjUsNyArMzI1LDcgQEAgY2hhbmdlcXVvdGUoWyxdKWRubA0KICAgICAgICAgdXNp bmdfY2dlbj15ZXMNCiAJOzsNCiANCi0gICAgICBpMzg2IHwgczM5MCB8IHNwYXJjKQ0KKyAgICAg IGkzODYgfCBzMzkwIHwgc3BhcmMgfCBocHBhKQ0KIAlpZiB0ZXN0ICR0aGlzX3RhcmdldCA9ICR0 YXJnZXQgOyB0aGVuDQogCSAgQUNfREVGSU5FX1VOUVVPVEVEKERFRkFVTFRfQVJDSCwgIiR7YXJj aH0iLCBbRGVmYXVsdCBhcmNoaXRlY3R1cmUuXSkNCiAJZmkNCkluZGV4OiBjb25maWd1cmUudGd0 DQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2dhcy9jb25maWd1cmUudGd0LHYN CnJldHJpZXZpbmcgcmV2aXNpb24gMS4yOQ0KZGlmZiAtdSAtcCAtcjEuMjkgY29uZmlndXJlLnRn dA0KLS0tIGNvbmZpZ3VyZS50Z3QJMjAgU2VwIDIwMDYgMTE6MzU6MTEgLTAwMDAJMS4yOQ0KKysr IGNvbmZpZ3VyZS50Z3QJMjMgT2N0IDIwMDYgMDM6MTE6MzQgLTAwMDANCkBAIC0zNyw3ICszNyw4 IEBAIGNhc2UgJHtjcHV9IGluDQogICBjNHgqKQkJCWNwdV90eXBlPXRpYzR4IDs7DQogICBjcmlz djMyKQkJY3B1X3R5cGU9Y3JpcyBhcmNoPWNyaXN2MzIgOzsNCiAgIGNyeCopCQkJY3B1X3R5cGU9 Y3J4IGVuZGlhbj1saXR0bGUgOzsNCi0gIGhwcGEqKQkJY3B1X3R5cGU9aHBwYSA7Ow0KKyAgaHBw YSkJCQljcHVfdHlwZT1ocHBhIGFyY2g9aHBwYTs7DQorICBocHBhNjQpCQljcHVfdHlwZT1ocHBh IGFyY2g9aHBwYTY0OzsNCiAgIGlbMy03XTg2KQkJY3B1X3R5cGU9aTM4NiBhcmNoPWkzODY7Ow0K ICAgaWE2NCkJCQljcHVfdHlwZT1pYTY0IDs7DQogICBpcDJrKQkJCWNwdV90eXBlPWlwMmsgZW5k aWFuPWJpZyA7OyANCkluZGV4OiBjb25maWcvdGMtaHBwYS5jDQo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmls ZTogL2N2cy9zcmMvc3JjL2dhcy9jb25maWcvdGMtaHBwYS5jLHYNCnJldHJpZXZpbmcgcmV2aXNp b24gMS4xMzINCmRpZmYgLXUgLXAgLXIxLjEzMiB0Yy1ocHBhLmMNCi0tLSBjb25maWcvdGMtaHBw YS5jCTcgSnVuIDIwMDYgMTE6Mjc6NTcgLTAwMDAJMS4xMzINCisrKyBjb25maWcvdGMtaHBwYS5j CTIzIE9jdCAyMDA2IDAzOjExOjM0IC0wMDAwDQpAQCAtNDQsNiArNDQsMTggQEAgZXJyb3Igb25s eSBvbmUgb2YgT0JKX0VMRiBhbmQgT0JKX1NPTSBjYQ0KIC8qIEEgImNvbnZlbmllbnQiIHBsYWNl IHRvIHB1dCBvYmplY3QgZmlsZSBkZXBlbmRlbmNpZXMgd2hpY2ggZG8NCiAgICBub3QgbmVlZCB0 byBiZSBzZWVuIG91dHNpZGUgb2YgdGMtaHBwYS5jLiAgKi8NCiANCisvKiBFaXRoZXIgMzIgb3Ig NjQsIHNlbGVjdHMgZmlsZSBmb3JtYXQuICovDQorc3RhdGljIGludCBocHBhX2FyY2hfc2l6ZTsN CisNCisvKiBTdG9yZSB0aGUgQkZEIG1hY2hpbmUgdHlwZSAqLw0KK3N0YXRpYyB1bnNpZ25lZCBs b25nIGJmZF9tYWNoOw0KKw0KKy8qIFRoZSBkZWZhdWx0IGFyY2hpdGVjdHVyZSAqLw0KKyNpZm5k ZWYgREVGQVVMVF9BUkNIDQorI2RlZmluZSBERUZBVUxUX0FSQ0ggImhwcGEiDQorI2VuZGlmDQor c3RhdGljIGNoYXIgKmRlZmF1bHRfYXJjaCA9IERFRkFVTFRfQVJDSDsNCisNCiAvKiBPYmplY3Qg ZmlsZSBmb3JtYXRzIHNwZWNpZnkgcmVsb2NhdGlvbiB0eXBlcy4gICovDQogdHlwZWRlZiBlbnVt IGVsZl9ocHBhX3JlbG9jX3R5cGUgcmVsb2NfdHlwZTsNCiANCkBAIC01MiwxNCArNjQsOSBAQCB0 eXBlZGVmIGVsZl9zeW1ib2xfdHlwZSBvYmpfc3ltYm9sX3R5cGU7DQogI2RlZmluZSBzeW1ib2xf YXJnX3JlbG9jX2luZm8oc3ltKVwNCiAgICgoKG9ial9zeW1ib2xfdHlwZSAqKSBzeW1ib2xfZ2V0 X2JmZHN5bSAoc3ltKSktPnRjX2RhdGEuaHBwYV9hcmdfcmVsb2MpDQogDQotI2lmIFRBUkdFVF9B UkNIX1NJWkUgPT0gNjQNCi0vKiBIb3cgdG8gZ2VuZXJhdGUgYSByZWxvY2F0aW9uLiAgKi8NCi0j ZGVmaW5lIGhwcGFfZ2VuX3JlbG9jX3R5cGUgX2JmZF9lbGY2NF9ocHBhX2dlbl9yZWxvY190eXBl DQotI2RlZmluZSBlbGZfaHBwYV9yZWxvY19maW5hbF90eXBlIGVsZjY0X2hwcGFfcmVsb2NfZmlu YWxfdHlwZQ0KLSNlbHNlDQotI2RlZmluZSBocHBhX2dlbl9yZWxvY190eXBlIF9iZmRfZWxmMzJf aHBwYV9nZW5fcmVsb2NfdHlwZQ0KLSNkZWZpbmUgZWxmX2hwcGFfcmVsb2NfZmluYWxfdHlwZSBl bGYzMl9ocHBhX3JlbG9jX2ZpbmFsX3R5cGUNCi0jZW5kaWYNCisvKiBGdW5jdGlvbiBwb2ludGVy IHRvIHRlbGwgdXMgaG93IHRvIGdlbmVyYXRlIGEgcmVsb2NhdGlvbi4gICovDQorZWxmX2hwcGFf cmVsb2NfdHlwZSoqICgqaHBwYV9nZW5fcmVsb2NfdHlwZSkoYmZkKiwgZWxmX2hwcGFfcmVsb2Nf dHlwZSwgaW50LCB1bnNpZ25lZCBpbnQsIGludCwgYXN5bWJvbCopOw0KK2VsZl9ocHBhX3JlbG9j X3R5cGUgKCplbGZfaHBwYV9yZWxvY19maW5hbF90eXBlKShiZmQqLCBlbGZfaHBwYV9yZWxvY190 eXBlLCBpbnQsIHVuc2lnbmVkIGludCk7DQogDQogLyogRUxGIG9iamVjdHMgY2FuIGhhdmUgdmVy c2lvbnMsIGJ1dCBhcHBhcmVudGx5IGRvIG5vdCBoYXZlIGFueXdoZXJlDQogICAgdG8gc3RvcmUg YSBjb3B5cmlnaHQgc3RyaW5nLiAgKi8NCkBAIC0xMDUsMTIgKzExMiw2IEBAIHR5cGVkZWYgc29t X3N5bWJvbF90eXBlIG9ial9zeW1ib2xfdHlwZTsNCiAjZW5kaWYNCiAjZW5kaWYgLyogT0JKX1NP TSAqLw0KIA0KLSNpZiBUQVJHRVRfQVJDSF9TSVpFID09IDY0DQotI2RlZmluZSBERUZBVUxUX0xF VkVMIDI1DQotI2Vsc2UNCi0jZGVmaW5lIERFRkFVTFRfTEVWRUwgMTANCi0jZW5kaWYNCi0NCiAv KiBWYXJpb3VzIHN0cnVjdHVyZXMgYW5kIHR5cGVzIHVzZWQgaW50ZXJuYWxseSBpbiB0Yy1ocHBh LmMuICAqLw0KIA0KIC8qIFVud2luZCB0YWJsZSBhbmQgZGVzY3JpcHRvci4gIEZJWE1FOiBTeW5j IHRoaXMgd2l0aCBHREIgdmVyc2lvbi4gICovDQpAQCAtNDY2LDYgKzQ2Nyw3IEBAIHN0cnVjdCBo cHBhX2ZpeF9zdHJ1Y3QNCiBzdHJ1Y3QgcGRfcmVnDQogICB7DQogICAgIGNoYXIgKm5hbWU7DQor ICAgIHVuc2lnbmVkIGxvbmcgbWFjaDsNCiAgICAgaW50IHZhbHVlOw0KICAgfTsNCiANCkBAIC00 ODUsNiArNDg3LDEyIEBAIHN0cnVjdCBzZWxlY3Rvcl9lbnRyeQ0KICAgICBpbnQgZmllbGRfc2Vs ZWN0b3I7DQogICB9Ow0KIA0KKy8qIFNldHVwIGFyY2hpdGVjdHVyZSBpbmZvcm1hdGlvbiBmb3Ig MzIgb3IgNjQgYml0ICovDQorc3RhdGljIHZvaWQgaW5pdF9kZWZhdWx0X2FyY2ggKHZvaWQpOw0K Kw0KKy8qIFNldHVwIHJlZ2lzdGVyIGhhc2gsIGNhbGxlZCBmcm9tIGluaXRfZGVmYXVsdF9hcmNo ICovDQorc3RhdGljIHZvaWQgc2V0dXBfcmVnX2hhc2ggKHZvaWQpOw0KKw0KIC8qIFByb3RvdHlw ZXMgZm9yIGZ1bmN0aW9ucyBsb2NhbCB0byB0Yy1ocHBhLmMuICAqLw0KIA0KICNpZmRlZiBPQkpf U09NDQpAQCAtNjYxLDIyNiArNjY5LDIyOSBAQCBzdGF0aWMgaW50IHByaW50X2Vycm9ycyA9IDE7 DQogICAgQWxtb3N0IGV2ZXJ5IGNvbnRyb2wgcmVnaXN0ZXIgaGFzIGEgc3lub255bTsgdGhleSBh cmUgbm90IGxpc3RlZA0KICAgIGhlcmUgZm9yIGJyZXZpdHkuDQogDQotICAgVGhlIHRhYmxlIGlz IHNvcnRlZC4gU3VpdGFibGUgZm9yIHNlYXJjaGluZyBieSBhIGJpbmFyeSBzZWFyY2guICAqLw0K KyAgIFRoZSB0YWJsZSBpcyBzb3J0ZWQsIGJ1dCBtaWdodCBoYXZlIGR1cGxpY2F0ZSBuYW1lcyBp ZiBhIHJlZ2lzdGVyDQorICAgaXMgZGVmaW5lZCBkaWZmZXJlbnRseSBmb3IgZGlmZmVyZW50IG1h Y2hpbmVzLiAgU2VlIG1ycCBmb3IgYW4NCisgICBleGFtcGxlLiAgVGhlIG1vcmUgZ2VuZXJhbGx5 IHN1cHBvcnRlZCByZWdpc3RlciBkZWZpbml0aW9ucyBtdXN0DQorICAgY29tZSBMQVNULiAqLw0K IA0KIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGRfcmVnIHByZV9kZWZpbmVkX3JlZ2lzdGVyc1tdID0N CiB7DQotICB7IiVhcmcwIiwgIDI2fSwNCi0gIHsiJWFyZzEiLCAgMjV9LA0KLSAgeyIlYXJnMiIs ICAyNH0sDQotICB7IiVhcmczIiwgIDIzfSwNCi0gIHsiJWNyMCIsICAgIDB9LA0KLSAgeyIlY3Ix MCIsICAxMH0sDQotICB7IiVjcjExIiwgIDExfSwNCi0gIHsiJWNyMTIiLCAgMTJ9LA0KLSAgeyIl Y3IxMyIsICAxM30sDQotICB7IiVjcjE0IiwgIDE0fSwNCi0gIHsiJWNyMTUiLCAgMTV9LA0KLSAg eyIlY3IxNiIsICAxNn0sDQotICB7IiVjcjE3IiwgIDE3fSwNCi0gIHsiJWNyMTgiLCAgMTh9LA0K LSAgeyIlY3IxOSIsICAxOX0sDQotICB7IiVjcjIwIiwgIDIwfSwNCi0gIHsiJWNyMjEiLCAgMjF9 LA0KLSAgeyIlY3IyMiIsICAyMn0sDQotICB7IiVjcjIzIiwgIDIzfSwNCi0gIHsiJWNyMjQiLCAg MjR9LA0KLSAgeyIlY3IyNSIsICAyNX0sDQotICB7IiVjcjI2IiwgIDI2fSwNCi0gIHsiJWNyMjci LCAgMjd9LA0KLSAgeyIlY3IyOCIsICAyOH0sDQotICB7IiVjcjI5IiwgIDI5fSwNCi0gIHsiJWNy MzAiLCAgMzB9LA0KLSAgeyIlY3IzMSIsICAzMX0sDQotICB7IiVjcjgiLCAgICA4fSwNCi0gIHsi JWNyOSIsICAgIDl9LA0KLSAgeyIlZHAiLCAgICAyN30sDQotICB7IiVlaWVtIiwgIDE1fSwNCi0g IHsiJWVpcnIiLCAgMjN9LA0KLSAgeyIlZmFyZzAiLCAgNCArIEZQX1JFR19CQVNFfSwNCi0gIHsi JWZhcmcxIiwgIDUgKyBGUF9SRUdfQkFTRX0sDQotICB7IiVmYXJnMiIsICA2ICsgRlBfUkVHX0JB U0V9LA0KLSAgeyIlZmFyZzMiLCAgNyArIEZQX1JFR19CQVNFfSwNCi0gIHsiJWZyMCIsICAgIDAg KyBGUF9SRUdfQkFTRX0sDQotICB7IiVmcjBsIiwgICAwICsgRlBfUkVHX0JBU0V9LA0KLSAgeyIl ZnIwciIsICAgMCArIEZQX1JFR19CQVNFICsgRlBfUkVHX1JTRUx9LA0KLSAgeyIlZnIxIiwgICAg MSArIEZQX1JFR19CQVNFfSwNCi0gIHsiJWZyMTAiLCAgMTAgKyBGUF9SRUdfQkFTRX0sDQotICB7 IiVmcjEwbCIsIDEwICsgRlBfUkVHX0JBU0V9LA0KLSAgeyIlZnIxMHIiLCAxMCArIEZQX1JFR19C QVNFICsgRlBfUkVHX1JTRUx9LA0KLSAgeyIlZnIxMSIsICAxMSArIEZQX1JFR19CQVNFfSwNCi0g IHsiJWZyMTFsIiwgMTEgKyBGUF9SRUdfQkFTRX0sDQotICB7IiVmcjExciIsIDExICsgRlBfUkVH X0JBU0UgKyBGUF9SRUdfUlNFTH0sDQotICB7IiVmcjEyIiwgIDEyICsgRlBfUkVHX0JBU0V9LA0K LSAgeyIlZnIxMmwiLCAxMiArIEZQX1JFR19CQVNFfSwNCi0gIHsiJWZyMTJyIiwgMTIgKyBGUF9S RUdfQkFTRSArIEZQX1JFR19SU0VMfSwNCi0gIHsiJWZyMTMiLCAgMTMgKyBGUF9SRUdfQkFTRX0s DQotICB7IiVmcjEzbCIsIDEzICsgRlBfUkVHX0JBU0V9LA0KLSAgeyIlZnIxM3IiLCAxMyArIEZQ X1JFR19CQVNFICsgRlBfUkVHX1JTRUx9LA0KLSAgeyIlZnIxNCIsICAxNCArIEZQX1JFR19CQVNF fSwNCi0gIHsiJWZyMTRsIiwgMTQgKyBGUF9SRUdfQkFTRX0sDQotICB7IiVmcjE0ciIsIDE0ICsg RlBfUkVHX0JBU0UgKyBGUF9SRUdfUlNFTH0sDQotICB7IiVmcjE1IiwgIDE1ICsgRlBfUkVHX0JB U0V9LA0KLSAgeyIlZnIxNWwiLCAxNSArIEZQX1JFR19CQVNFfSwNCi0gIHsiJWZyMTVyIiwgMTUg KyBGUF9SRUdfQkFTRSArIEZQX1JFR19SU0VMfSwNCi0gIHsiJWZyMTYiLCAgMTYgKyBGUF9SRUdf QkFTRX0sDQotICB7IiVmcjE2bCIsIDE2ICsgRlBfUkVHX0JBU0V9LA0KLSAgeyIlZnIxNnIiLCAx NiArIEZQX1JFR19CQVNFICsgRlBfUkVHX1JTRUx9LA0KLSAgeyIlZnIxNyIsICAxNyArIEZQX1JF R19CQVNFfSwNCi0gIHsiJWZyMTdsIiwgMTcgKyBGUF9SRUdfQkFTRX0sDQotICB7IiVmcjE3ciIs IDE3ICsgRlBfUkVHX0JBU0UgKyBGUF9SRUdfUlNFTH0sDQotICB7IiVmcjE4IiwgIDE4ICsgRlBf UkVHX0JBU0V9LA0KLSAgeyIlZnIxOGwiLCAxOCArIEZQX1JFR19CQVNFfSwNCi0gIHsiJWZyMThy IiwgMTggKyBGUF9SRUdfQkFTRSArIEZQX1JFR19SU0VMfSwNCi0gIHsiJWZyMTkiLCAgMTkgKyBG UF9SRUdfQkFTRX0sDQotICB7IiVmcjE5bCIsIDE5ICsgRlBfUkVHX0JBU0V9LA0KLSAgeyIlZnIx OXIiLCAxOSArIEZQX1JFR19CQVNFICsgRlBfUkVHX1JTRUx9LA0KLSAgeyIlZnIxbCIsICAgMSAr IEZQX1JFR19CQVNFfSwNCi0gIHsiJWZyMXIiLCAgIDEgKyBGUF9SRUdfQkFTRSArIEZQX1JFR19S U0VMfSwNCi0gIHsiJWZyMiIsICAgIDIgKyBGUF9SRUdfQkFTRX0sDQotICB7IiVmcjIwIiwgIDIw ICsgRlBfUkVHX0JBU0V9LA0KLSAgeyIlZnIyMGwiLCAyMCArIEZQX1JFR19CQVNFfSwNCi0gIHsi JWZyMjByIiwgMjAgKyBGUF9SRUdfQkFTRSArIEZQX1JFR19SU0VMfSwNCi0gIHsiJWZyMjEiLCAg MjEgKyBGUF9SRUdfQkFTRX0sDQotICB7IiVmcjIxbCIsIDIxICsgRlBfUkVHX0JBU0V9LA0KLSAg eyIlZnIyMXIiLCAyMSArIEZQX1JFR19CQVNFICsgRlBfUkVHX1JTRUx9LA0KLSAgeyIlZnIyMiIs ICAyMiArIEZQX1JFR19CQVNFfSwNCi0gIHsiJWZyMjJsIiwgMjIgKyBGUF9SRUdfQkFTRX0sDQot ICB7IiVmcjIyciIsIDIyICsgRlBfUkVHX0JBU0UgKyBGUF9SRUdfUlNFTH0sDQotICB7IiVmcjIz IiwgIDIzICsgRlBfUkVHX0JBU0V9LA0KLSAgeyIlZnIyM2wiLCAyMyArIEZQX1JFR19CQVNFfSwN Ci0gIHsiJWZyMjNyIiwgMjMgKyBGUF9SRUdfQkFTRSArIEZQX1JFR19SU0VMfSwNCi0gIHsiJWZy MjQiLCAgMjQgKyBGUF9SRUdfQkFTRX0sDQotICB7IiVmcjI0bCIsIDI0ICsgRlBfUkVHX0JBU0V9 LA0KLSAgeyIlZnIyNHIiLCAyNCArIEZQX1JFR19CQVNFICsgRlBfUkVHX1JTRUx9LA0KLSAgeyIl ZnIyNSIsICAyNSArIEZQX1JFR19CQVNFfSwNCi0gIHsiJWZyMjVsIiwgMjUgKyBGUF9SRUdfQkFT RX0sDQotICB7IiVmcjI1ciIsIDI1ICsgRlBfUkVHX0JBU0UgKyBGUF9SRUdfUlNFTH0sDQotICB7 IiVmcjI2IiwgIDI2ICsgRlBfUkVHX0JBU0V9LA0KLSAgeyIlZnIyNmwiLCAyNiArIEZQX1JFR19C QVNFfSwNCi0gIHsiJWZyMjZyIiwgMjYgKyBGUF9SRUdfQkFTRSArIEZQX1JFR19SU0VMfSwNCi0g IHsiJWZyMjciLCAgMjcgKyBGUF9SRUdfQkFTRX0sDQotICB7IiVmcjI3bCIsIDI3ICsgRlBfUkVH X0JBU0V9LA0KLSAgeyIlZnIyN3IiLCAyNyArIEZQX1JFR19CQVNFICsgRlBfUkVHX1JTRUx9LA0K LSAgeyIlZnIyOCIsICAyOCArIEZQX1JFR19CQVNFfSwNCi0gIHsiJWZyMjhsIiwgMjggKyBGUF9S RUdfQkFTRX0sDQotICB7IiVmcjI4ciIsIDI4ICsgRlBfUkVHX0JBU0UgKyBGUF9SRUdfUlNFTH0s DQotICB7IiVmcjI5IiwgIDI5ICsgRlBfUkVHX0JBU0V9LA0KLSAgeyIlZnIyOWwiLCAyOSArIEZQ X1JFR19CQVNFfSwNCi0gIHsiJWZyMjlyIiwgMjkgKyBGUF9SRUdfQkFTRSArIEZQX1JFR19SU0VM fSwNCi0gIHsiJWZyMmwiLCAgIDIgKyBGUF9SRUdfQkFTRX0sDQotICB7IiVmcjJyIiwgICAyICsg RlBfUkVHX0JBU0UgKyBGUF9SRUdfUlNFTH0sDQotICB7IiVmcjMiLCAgICAzICsgRlBfUkVHX0JB U0V9LA0KLSAgeyIlZnIzMCIsICAzMCArIEZQX1JFR19CQVNFfSwNCi0gIHsiJWZyMzBsIiwgMzAg KyBGUF9SRUdfQkFTRX0sDQotICB7IiVmcjMwciIsIDMwICsgRlBfUkVHX0JBU0UgKyBGUF9SRUdf UlNFTH0sDQotICB7IiVmcjMxIiwgIDMxICsgRlBfUkVHX0JBU0V9LA0KLSAgeyIlZnIzMWwiLCAz MSArIEZQX1JFR19CQVNFfSwNCi0gIHsiJWZyMzFyIiwgMzEgKyBGUF9SRUdfQkFTRSArIEZQX1JF R19SU0VMfSwNCi0gIHsiJWZyM2wiLCAgIDMgKyBGUF9SRUdfQkFTRX0sDQotICB7IiVmcjNyIiwg ICAzICsgRlBfUkVHX0JBU0UgKyBGUF9SRUdfUlNFTH0sDQotICB7IiVmcjQiLCAgICA0ICsgRlBf UkVHX0JBU0V9LA0KLSAgeyIlZnI0bCIsICAgNCArIEZQX1JFR19CQVNFfSwNCi0gIHsiJWZyNHIi LCAgIDQgKyBGUF9SRUdfQkFTRSArIEZQX1JFR19SU0VMfSwNCi0gIHsiJWZyNSIsICAgIDUgKyBG UF9SRUdfQkFTRX0sDQotICB7IiVmcjVsIiwgICA1ICsgRlBfUkVHX0JBU0V9LA0KLSAgeyIlZnI1 ciIsICAgNSArIEZQX1JFR19CQVNFICsgRlBfUkVHX1JTRUx9LA0KLSAgeyIlZnI2IiwgICAgNiAr IEZQX1JFR19CQVNFfSwNCi0gIHsiJWZyNmwiLCAgIDYgKyBGUF9SRUdfQkFTRX0sDQotICB7IiVm cjZyIiwgICA2ICsgRlBfUkVHX0JBU0UgKyBGUF9SRUdfUlNFTH0sDQotICB7IiVmcjciLCAgICA3 ICsgRlBfUkVHX0JBU0V9LA0KLSAgeyIlZnI3bCIsICAgNyArIEZQX1JFR19CQVNFfSwNCi0gIHsi JWZyN3IiLCAgIDcgKyBGUF9SRUdfQkFTRSArIEZQX1JFR19SU0VMfSwNCi0gIHsiJWZyOCIsICAg IDggKyBGUF9SRUdfQkFTRX0sDQotICB7IiVmcjhsIiwgICA4ICsgRlBfUkVHX0JBU0V9LA0KLSAg eyIlZnI4ciIsICAgOCArIEZQX1JFR19CQVNFICsgRlBfUkVHX1JTRUx9LA0KLSAgeyIlZnI5Iiwg ICAgOSArIEZQX1JFR19CQVNFfSwNCi0gIHsiJWZyOWwiLCAgIDkgKyBGUF9SRUdfQkFTRX0sDQot ICB7IiVmcjlyIiwgICA5ICsgRlBfUkVHX0JBU0UgKyBGUF9SRUdfUlNFTH0sDQotICB7IiVmcmV0 IiwgICA0fSwNCi0gIHsiJWh0YSIsICAgMjV9LA0KLSAgeyIlaWlyIiwgICAxOX0sDQotICB7IiVp b3IiLCAgIDIxfSwNCi0gIHsiJWlwc3ciLCAgMjJ9LA0KLSAgeyIlaXNyIiwgICAyMH0sDQotICB7 IiVpdG1yIiwgIDE2fSwNCi0gIHsiJWl2YSIsICAgMTR9LA0KLSNpZiBUQVJHRVRfQVJDSF9TSVpF ID09IDY0DQotICB7IiVtcnAiLCAgICAyfSwNCi0jZWxzZQ0KLSAgeyIlbXJwIiwgICAzMX0sDQot I2VuZGlmDQotICB7IiVwY29xIiwgIDE4fSwNCi0gIHsiJXBjc3EiLCAgMTd9LA0KLSAgeyIlcGlk cjEiLCAgOH0sDQotICB7IiVwaWRyMiIsICA5fSwNCi0gIHsiJXBpZHIzIiwgMTJ9LA0KLSAgeyIl cGlkcjQiLCAxM30sDQotICB7IiVwcGRhIiwgIDI0fSwNCi0gIHsiJXIwIiwgICAgIDB9LA0KLSAg eyIlcjEiLCAgICAgMX0sDQotICB7IiVyMTAiLCAgIDEwfSwNCi0gIHsiJXIxMSIsICAgMTF9LA0K LSAgeyIlcjEyIiwgICAxMn0sDQotICB7IiVyMTMiLCAgIDEzfSwNCi0gIHsiJXIxNCIsICAgMTR9 LA0KLSAgeyIlcjE1IiwgICAxNX0sDQotICB7IiVyMTYiLCAgIDE2fSwNCi0gIHsiJXIxNyIsICAg MTd9LA0KLSAgeyIlcjE4IiwgICAxOH0sDQotICB7IiVyMTkiLCAgIDE5fSwNCi0gIHsiJXIyIiwg ICAgIDJ9LA0KLSAgeyIlcjIwIiwgICAyMH0sDQotICB7IiVyMjEiLCAgIDIxfSwNCi0gIHsiJXIy MiIsICAgMjJ9LA0KLSAgeyIlcjIzIiwgICAyM30sDQotICB7IiVyMjQiLCAgIDI0fSwNCi0gIHsi JXIyNSIsICAgMjV9LA0KLSAgeyIlcjI2IiwgICAyNn0sDQotICB7IiVyMjciLCAgIDI3fSwNCi0g IHsiJXIyOCIsICAgMjh9LA0KLSAgeyIlcjI5IiwgICAyOX0sDQotICB7IiVyMyIsICAgICAzfSwN Ci0gIHsiJXIzMCIsICAgMzB9LA0KLSAgeyIlcjMxIiwgICAzMX0sDQotICB7IiVyNCIsICAgICA0 fSwNCi0gIHsiJXI1IiwgICAgIDV9LA0KLSAgeyIlcjYiLCAgICAgNn0sDQotICB7IiVyNyIsICAg ICA3fSwNCi0gIHsiJXI4IiwgICAgIDh9LA0KLSAgeyIlcjkiLCAgICAgOX0sDQotICB7IiVyY3Ry IiwgICAwfSwNCi0gIHsiJXJldDAiLCAgMjh9LA0KLSAgeyIlcmV0MSIsICAyOX0sDQotICB7IiVy cCIsICAgICAyfSwNCi0gIHsiJXNhciIsICAgMTF9LA0KLSAgeyIlc3AiLCAgICAzMH0sDQotICB7 IiVzcjAiLCAgICAwfSwNCi0gIHsiJXNyMSIsICAgIDF9LA0KLSAgeyIlc3IyIiwgICAgMn0sDQot ICB7IiVzcjMiLCAgICAzfSwNCi0gIHsiJXNyNCIsICAgIDR9LA0KLSAgeyIlc3I1IiwgICAgNX0s DQotICB7IiVzcjYiLCAgICA2fSwNCi0gIHsiJXNyNyIsICAgIDd9LA0KLSAgeyIldDEiLCAgICAy Mn0sDQotICB7IiV0MiIsICAgIDIxfSwNCi0gIHsiJXQzIiwgICAgMjB9LA0KLSAgeyIldDQiLCAg ICAxOX0sDQotICB7IiV0ZjEiLCAgIDExfSwNCi0gIHsiJXRmMiIsICAgMTB9LA0KLSAgeyIldGYz IiwgICAgOX0sDQotICB7IiV0ZjQiLCAgICA4fSwNCi0gIHsiJXRyMCIsICAgMjR9LA0KLSAgeyIl dHIxIiwgICAyNX0sDQotICB7IiV0cjIiLCAgIDI2fSwNCi0gIHsiJXRyMyIsICAgMjd9LA0KLSAg eyIldHI0IiwgICAyOH0sDQotICB7IiV0cjUiLCAgIDI5fSwNCi0gIHsiJXRyNiIsICAgMzB9LA0K LSAgeyIldHI3IiwgICAzMX0NCisgIHsiJWFyZzAiLCAgYmZkX21hY2hfaHBwYTEwLCAgMjZ9LA0K KyAgeyIlYXJnMSIsICBiZmRfbWFjaF9ocHBhMTAsICAyNX0sDQorICB7IiVhcmcyIiwgIGJmZF9t YWNoX2hwcGExMCwgIDI0fSwNCisgIHsiJWFyZzMiLCAgYmZkX21hY2hfaHBwYTEwLCAgMjN9LA0K KyAgeyIlY3IwIiwgICBiZmRfbWFjaF9ocHBhMTAsICAgMH0sDQorICB7IiVjcjEwIiwgIGJmZF9t YWNoX2hwcGExMCwgIDEwfSwNCisgIHsiJWNyMTEiLCAgYmZkX21hY2hfaHBwYTEwLCAgMTF9LA0K KyAgeyIlY3IxMiIsICBiZmRfbWFjaF9ocHBhMTAsICAxMn0sDQorICB7IiVjcjEzIiwgIGJmZF9t YWNoX2hwcGExMCwgIDEzfSwNCisgIHsiJWNyMTQiLCAgYmZkX21hY2hfaHBwYTEwLCAgMTR9LA0K KyAgeyIlY3IxNSIsICBiZmRfbWFjaF9ocHBhMTAsICAxNX0sDQorICB7IiVjcjE2IiwgIGJmZF9t YWNoX2hwcGExMCwgIDE2fSwNCisgIHsiJWNyMTciLCAgYmZkX21hY2hfaHBwYTEwLCAgMTd9LA0K KyAgeyIlY3IxOCIsICBiZmRfbWFjaF9ocHBhMTAsICAxOH0sDQorICB7IiVjcjE5IiwgIGJmZF9t YWNoX2hwcGExMCwgIDE5fSwNCisgIHsiJWNyMjAiLCAgYmZkX21hY2hfaHBwYTEwLCAgMjB9LA0K KyAgeyIlY3IyMSIsICBiZmRfbWFjaF9ocHBhMTAsICAyMX0sDQorICB7IiVjcjIyIiwgIGJmZF9t YWNoX2hwcGExMCwgIDIyfSwNCisgIHsiJWNyMjMiLCAgYmZkX21hY2hfaHBwYTEwLCAgMjN9LA0K KyAgeyIlY3IyNCIsICBiZmRfbWFjaF9ocHBhMTAsICAyNH0sDQorICB7IiVjcjI1IiwgIGJmZF9t YWNoX2hwcGExMCwgIDI1fSwNCisgIHsiJWNyMjYiLCAgYmZkX21hY2hfaHBwYTEwLCAgMjZ9LA0K KyAgeyIlY3IyNyIsICBiZmRfbWFjaF9ocHBhMTAsICAyN30sDQorICB7IiVjcjI4IiwgIGJmZF9t YWNoX2hwcGExMCwgIDI4fSwNCisgIHsiJWNyMjkiLCAgYmZkX21hY2hfaHBwYTEwLCAgMjl9LA0K KyAgeyIlY3IzMCIsICBiZmRfbWFjaF9ocHBhMTAsICAzMH0sDQorICB7IiVjcjMxIiwgIGJmZF9t YWNoX2hwcGExMCwgIDMxfSwNCisgIHsiJWNyOCIsICAgYmZkX21hY2hfaHBwYTEwLCAgIDh9LA0K KyAgeyIlY3I5IiwgICBiZmRfbWFjaF9ocHBhMTAsICAgOX0sDQorICB7IiVkcCIsICAgIGJmZF9t YWNoX2hwcGExMCwgIDI3fSwNCisgIHsiJWVpZW0iLCAgYmZkX21hY2hfaHBwYTEwLCAgMTV9LA0K KyAgeyIlZWlyciIsICBiZmRfbWFjaF9ocHBhMTAsICAyM30sDQorICB7IiVmYXJnMCIsIGJmZF9t YWNoX2hwcGExMCwgICA0ICsgRlBfUkVHX0JBU0V9LA0KKyAgeyIlZmFyZzEiLCBiZmRfbWFjaF9o cHBhMTAsICAgNSArIEZQX1JFR19CQVNFfSwNCisgIHsiJWZhcmcyIiwgYmZkX21hY2hfaHBwYTEw LCAgIDYgKyBGUF9SRUdfQkFTRX0sDQorICB7IiVmYXJnMyIsIGJmZF9tYWNoX2hwcGExMCwgICA3 ICsgRlBfUkVHX0JBU0V9LA0KKyAgeyIlZnIwIiwgICBiZmRfbWFjaF9ocHBhMTAsICAgMCArIEZQ X1JFR19CQVNFfSwNCisgIHsiJWZyMGwiLCAgYmZkX21hY2hfaHBwYTExLCAgIDAgKyBGUF9SRUdf QkFTRX0sDQorICB7IiVmcjByIiwgIGJmZF9tYWNoX2hwcGExMSwgICAwICsgRlBfUkVHX0JBU0Ug KyBGUF9SRUdfUlNFTH0sDQorICB7IiVmcjEiLCAgIGJmZF9tYWNoX2hwcGExMCwgICAxICsgRlBf UkVHX0JBU0V9LA0KKyAgeyIlZnIxMCIsICBiZmRfbWFjaF9ocHBhMTAsICAxMCArIEZQX1JFR19C QVNFfSwNCisgIHsiJWZyMTBsIiwgYmZkX21hY2hfaHBwYTExLCAgMTAgKyBGUF9SRUdfQkFTRX0s DQorICB7IiVmcjEwciIsIGJmZF9tYWNoX2hwcGExMSwgIDEwICsgRlBfUkVHX0JBU0UgKyBGUF9S RUdfUlNFTH0sDQorICB7IiVmcjExIiwgIGJmZF9tYWNoX2hwcGExMCwgIDExICsgRlBfUkVHX0JB U0V9LA0KKyAgeyIlZnIxMWwiLCBiZmRfbWFjaF9ocHBhMTEsICAxMSArIEZQX1JFR19CQVNFfSwN CisgIHsiJWZyMTFyIiwgYmZkX21hY2hfaHBwYTExLCAgMTEgKyBGUF9SRUdfQkFTRSArIEZQX1JF R19SU0VMfSwNCisgIHsiJWZyMTIiLCAgYmZkX21hY2hfaHBwYTEwLCAgMTIgKyBGUF9SRUdfQkFT RX0sDQorICB7IiVmcjEybCIsIGJmZF9tYWNoX2hwcGExMSwgIDEyICsgRlBfUkVHX0JBU0V9LA0K KyAgeyIlZnIxMnIiLCBiZmRfbWFjaF9ocHBhMTEsICAxMiArIEZQX1JFR19CQVNFICsgRlBfUkVH X1JTRUx9LA0KKyAgeyIlZnIxMyIsICBiZmRfbWFjaF9ocHBhMTAsICAxMyArIEZQX1JFR19CQVNF fSwNCisgIHsiJWZyMTNsIiwgYmZkX21hY2hfaHBwYTExLCAgMTMgKyBGUF9SRUdfQkFTRX0sDQor ICB7IiVmcjEzciIsIGJmZF9tYWNoX2hwcGExMSwgIDEzICsgRlBfUkVHX0JBU0UgKyBGUF9SRUdf UlNFTH0sDQorICB7IiVmcjE0IiwgIGJmZF9tYWNoX2hwcGExMCwgIDE0ICsgRlBfUkVHX0JBU0V9 LA0KKyAgeyIlZnIxNGwiLCBiZmRfbWFjaF9ocHBhMTEsICAxNCArIEZQX1JFR19CQVNFfSwNCisg IHsiJWZyMTRyIiwgYmZkX21hY2hfaHBwYTExLCAgMTQgKyBGUF9SRUdfQkFTRSArIEZQX1JFR19S U0VMfSwNCisgIHsiJWZyMTUiLCAgYmZkX21hY2hfaHBwYTEwLCAgMTUgKyBGUF9SRUdfQkFTRX0s DQorICB7IiVmcjE1bCIsIGJmZF9tYWNoX2hwcGExMSwgIDE1ICsgRlBfUkVHX0JBU0V9LA0KKyAg eyIlZnIxNXIiLCBiZmRfbWFjaF9ocHBhMTEsICAxNSArIEZQX1JFR19CQVNFICsgRlBfUkVHX1JT RUx9LA0KKyAgeyIlZnIxNiIsICBiZmRfbWFjaF9ocHBhMTEsICAxNiArIEZQX1JFR19CQVNFfSwN CisgIHsiJWZyMTZsIiwgYmZkX21hY2hfaHBwYTExLCAgMTYgKyBGUF9SRUdfQkFTRX0sDQorICB7 IiVmcjE2ciIsIGJmZF9tYWNoX2hwcGExMSwgIDE2ICsgRlBfUkVHX0JBU0UgKyBGUF9SRUdfUlNF TH0sDQorICB7IiVmcjE3IiwgIGJmZF9tYWNoX2hwcGExMSwgIDE3ICsgRlBfUkVHX0JBU0V9LA0K KyAgeyIlZnIxN2wiLCBiZmRfbWFjaF9ocHBhMTEsICAxNyArIEZQX1JFR19CQVNFfSwNCisgIHsi JWZyMTdyIiwgYmZkX21hY2hfaHBwYTExLCAgMTcgKyBGUF9SRUdfQkFTRSArIEZQX1JFR19SU0VM fSwNCisgIHsiJWZyMTgiLCAgYmZkX21hY2hfaHBwYTExLCAgMTggKyBGUF9SRUdfQkFTRX0sDQor ICB7IiVmcjE4bCIsIGJmZF9tYWNoX2hwcGExMSwgIDE4ICsgRlBfUkVHX0JBU0V9LA0KKyAgeyIl ZnIxOHIiLCBiZmRfbWFjaF9ocHBhMTEsICAxOCArIEZQX1JFR19CQVNFICsgRlBfUkVHX1JTRUx9 LA0KKyAgeyIlZnIxOSIsICBiZmRfbWFjaF9ocHBhMTEsICAxOSArIEZQX1JFR19CQVNFfSwNCisg IHsiJWZyMTlsIiwgYmZkX21hY2hfaHBwYTExLCAgMTkgKyBGUF9SRUdfQkFTRX0sDQorICB7IiVm cjE5ciIsIGJmZF9tYWNoX2hwcGExMSwgIDE5ICsgRlBfUkVHX0JBU0UgKyBGUF9SRUdfUlNFTH0s DQorICB7IiVmcjFsIiwgIGJmZF9tYWNoX2hwcGExMSwgICAxICsgRlBfUkVHX0JBU0V9LA0KKyAg eyIlZnIxciIsICBiZmRfbWFjaF9ocHBhMTEsICAgMSArIEZQX1JFR19CQVNFICsgRlBfUkVHX1JT RUx9LA0KKyAgeyIlZnIyIiwgICBiZmRfbWFjaF9ocHBhMTAsICAgMiArIEZQX1JFR19CQVNFfSwN CisgIHsiJWZyMjAiLCAgYmZkX21hY2hfaHBwYTExLCAgMjAgKyBGUF9SRUdfQkFTRX0sDQorICB7 IiVmcjIwbCIsIGJmZF9tYWNoX2hwcGExMSwgIDIwICsgRlBfUkVHX0JBU0V9LA0KKyAgeyIlZnIy MHIiLCBiZmRfbWFjaF9ocHBhMTEsICAyMCArIEZQX1JFR19CQVNFICsgRlBfUkVHX1JTRUx9LA0K KyAgeyIlZnIyMSIsICBiZmRfbWFjaF9ocHBhMTEsICAyMSArIEZQX1JFR19CQVNFfSwNCisgIHsi JWZyMjFsIiwgYmZkX21hY2hfaHBwYTExLCAgMjEgKyBGUF9SRUdfQkFTRX0sDQorICB7IiVmcjIx ciIsIGJmZF9tYWNoX2hwcGExMSwgIDIxICsgRlBfUkVHX0JBU0UgKyBGUF9SRUdfUlNFTH0sDQor ICB7IiVmcjIyIiwgIGJmZF9tYWNoX2hwcGExMSwgIDIyICsgRlBfUkVHX0JBU0V9LA0KKyAgeyIl ZnIyMmwiLCBiZmRfbWFjaF9ocHBhMTEsICAyMiArIEZQX1JFR19CQVNFfSwNCisgIHsiJWZyMjJy IiwgYmZkX21hY2hfaHBwYTExLCAgMjIgKyBGUF9SRUdfQkFTRSArIEZQX1JFR19SU0VMfSwNCisg IHsiJWZyMjMiLCAgYmZkX21hY2hfaHBwYTExLCAgMjMgKyBGUF9SRUdfQkFTRX0sDQorICB7IiVm cjIzbCIsIGJmZF9tYWNoX2hwcGExMSwgIDIzICsgRlBfUkVHX0JBU0V9LA0KKyAgeyIlZnIyM3Ii LCBiZmRfbWFjaF9ocHBhMTEsICAyMyArIEZQX1JFR19CQVNFICsgRlBfUkVHX1JTRUx9LA0KKyAg eyIlZnIyNCIsICBiZmRfbWFjaF9ocHBhMTEsICAyNCArIEZQX1JFR19CQVNFfSwNCisgIHsiJWZy MjRsIiwgYmZkX21hY2hfaHBwYTExLCAgMjQgKyBGUF9SRUdfQkFTRX0sDQorICB7IiVmcjI0ciIs IGJmZF9tYWNoX2hwcGExMSwgIDI0ICsgRlBfUkVHX0JBU0UgKyBGUF9SRUdfUlNFTH0sDQorICB7 IiVmcjI1IiwgIGJmZF9tYWNoX2hwcGExMSwgIDI1ICsgRlBfUkVHX0JBU0V9LA0KKyAgeyIlZnIy NWwiLCBiZmRfbWFjaF9ocHBhMTEsICAyNSArIEZQX1JFR19CQVNFfSwNCisgIHsiJWZyMjVyIiwg YmZkX21hY2hfaHBwYTExLCAgMjUgKyBGUF9SRUdfQkFTRSArIEZQX1JFR19SU0VMfSwNCisgIHsi JWZyMjYiLCAgYmZkX21hY2hfaHBwYTExLCAgMjYgKyBGUF9SRUdfQkFTRX0sDQorICB7IiVmcjI2 bCIsIGJmZF9tYWNoX2hwcGExMSwgIDI2ICsgRlBfUkVHX0JBU0V9LA0KKyAgeyIlZnIyNnIiLCBi ZmRfbWFjaF9ocHBhMTEsICAyNiArIEZQX1JFR19CQVNFICsgRlBfUkVHX1JTRUx9LA0KKyAgeyIl ZnIyNyIsICBiZmRfbWFjaF9ocHBhMTEsICAyNyArIEZQX1JFR19CQVNFfSwNCisgIHsiJWZyMjds IiwgYmZkX21hY2hfaHBwYTExLCAgMjcgKyBGUF9SRUdfQkFTRX0sDQorICB7IiVmcjI3ciIsIGJm ZF9tYWNoX2hwcGExMSwgIDI3ICsgRlBfUkVHX0JBU0UgKyBGUF9SRUdfUlNFTH0sDQorICB7IiVm cjI4IiwgIGJmZF9tYWNoX2hwcGExMSwgIDI4ICsgRlBfUkVHX0JBU0V9LA0KKyAgeyIlZnIyOGwi LCBiZmRfbWFjaF9ocHBhMTEsICAyOCArIEZQX1JFR19CQVNFfSwNCisgIHsiJWZyMjhyIiwgYmZk X21hY2hfaHBwYTExLCAgMjggKyBGUF9SRUdfQkFTRSArIEZQX1JFR19SU0VMfSwNCisgIHsiJWZy MjkiLCAgYmZkX21hY2hfaHBwYTExLCAgMjkgKyBGUF9SRUdfQkFTRX0sDQorICB7IiVmcjI5bCIs IGJmZF9tYWNoX2hwcGExMSwgIDI5ICsgRlBfUkVHX0JBU0V9LA0KKyAgeyIlZnIyOXIiLCBiZmRf bWFjaF9ocHBhMTEsICAyOSArIEZQX1JFR19CQVNFICsgRlBfUkVHX1JTRUx9LA0KKyAgeyIlZnIy bCIsICBiZmRfbWFjaF9ocHBhMTEsICAgMiArIEZQX1JFR19CQVNFfSwNCisgIHsiJWZyMnIiLCAg YmZkX21hY2hfaHBwYTExLCAgIDIgKyBGUF9SRUdfQkFTRSArIEZQX1JFR19SU0VMfSwNCisgIHsi JWZyMyIsICAgYmZkX21hY2hfaHBwYTEwLCAgIDMgKyBGUF9SRUdfQkFTRX0sDQorICB7IiVmcjMw IiwgIGJmZF9tYWNoX2hwcGExMSwgIDMwICsgRlBfUkVHX0JBU0V9LA0KKyAgeyIlZnIzMGwiLCBi ZmRfbWFjaF9ocHBhMTEsICAzMCArIEZQX1JFR19CQVNFfSwNCisgIHsiJWZyMzByIiwgYmZkX21h Y2hfaHBwYTExLCAgMzAgKyBGUF9SRUdfQkFTRSArIEZQX1JFR19SU0VMfSwNCisgIHsiJWZyMzEi LCAgYmZkX21hY2hfaHBwYTExLCAgMzEgKyBGUF9SRUdfQkFTRX0sDQorICB7IiVmcjMxbCIsIGJm ZF9tYWNoX2hwcGExMSwgIDMxICsgRlBfUkVHX0JBU0V9LA0KKyAgeyIlZnIzMXIiLCBiZmRfbWFj aF9ocHBhMTEsICAzMSArIEZQX1JFR19CQVNFICsgRlBfUkVHX1JTRUx9LA0KKyAgeyIlZnIzbCIs ICBiZmRfbWFjaF9ocHBhMTEsICAgMyArIEZQX1JFR19CQVNFfSwNCisgIHsiJWZyM3IiLCAgYmZk X21hY2hfaHBwYTExLCAgIDMgKyBGUF9SRUdfQkFTRSArIEZQX1JFR19SU0VMfSwNCisgIHsiJWZy NCIsICAgYmZkX21hY2hfaHBwYTEwLCAgIDQgKyBGUF9SRUdfQkFTRX0sDQorICB7IiVmcjRsIiwg IGJmZF9tYWNoX2hwcGExMSwgICA0ICsgRlBfUkVHX0JBU0V9LA0KKyAgeyIlZnI0ciIsICBiZmRf bWFjaF9ocHBhMTEsICAgNCArIEZQX1JFR19CQVNFICsgRlBfUkVHX1JTRUx9LA0KKyAgeyIlZnI1 IiwgICBiZmRfbWFjaF9ocHBhMTAsICAgNSArIEZQX1JFR19CQVNFfSwNCisgIHsiJWZyNWwiLCAg YmZkX21hY2hfaHBwYTExLCAgIDUgKyBGUF9SRUdfQkFTRX0sDQorICB7IiVmcjVyIiwgIGJmZF9t YWNoX2hwcGExMSwgICA1ICsgRlBfUkVHX0JBU0UgKyBGUF9SRUdfUlNFTH0sDQorICB7IiVmcjYi LCAgIGJmZF9tYWNoX2hwcGExMCwgICA2ICsgRlBfUkVHX0JBU0V9LA0KKyAgeyIlZnI2bCIsICBi ZmRfbWFjaF9ocHBhMTEsICAgNiArIEZQX1JFR19CQVNFfSwNCisgIHsiJWZyNnIiLCAgYmZkX21h Y2hfaHBwYTExLCAgIDYgKyBGUF9SRUdfQkFTRSArIEZQX1JFR19SU0VMfSwNCisgIHsiJWZyNyIs ICAgYmZkX21hY2hfaHBwYTEwLCAgIDcgKyBGUF9SRUdfQkFTRX0sDQorICB7IiVmcjdsIiwgIGJm ZF9tYWNoX2hwcGExMSwgICA3ICsgRlBfUkVHX0JBU0V9LA0KKyAgeyIlZnI3ciIsICBiZmRfbWFj aF9ocHBhMTEsICAgNyArIEZQX1JFR19CQVNFICsgRlBfUkVHX1JTRUx9LA0KKyAgeyIlZnI4Iiwg ICBiZmRfbWFjaF9ocHBhMTAsICAgOCArIEZQX1JFR19CQVNFfSwNCisgIHsiJWZyOGwiLCAgYmZk X21hY2hfaHBwYTExLCAgIDggKyBGUF9SRUdfQkFTRX0sDQorICB7IiVmcjhyIiwgIGJmZF9tYWNo X2hwcGExMSwgICA4ICsgRlBfUkVHX0JBU0UgKyBGUF9SRUdfUlNFTH0sDQorICB7IiVmcjkiLCAg IGJmZF9tYWNoX2hwcGExMCwgICA5ICsgRlBfUkVHX0JBU0V9LA0KKyAgeyIlZnI5bCIsICBiZmRf bWFjaF9ocHBhMTEsICAgOSArIEZQX1JFR19CQVNFfSwNCisgIHsiJWZyOXIiLCAgYmZkX21hY2hf aHBwYTExLCAgIDkgKyBGUF9SRUdfQkFTRSArIEZQX1JFR19SU0VMfSwNCisgIHsiJWZyZXQiLCAg YmZkX21hY2hfaHBwYTEwLCAgIDR9LA0KKyAgeyIlaHRhIiwgICBiZmRfbWFjaF9ocHBhMTAsICAy NX0sDQorICB7IiVpaXIiLCAgIGJmZF9tYWNoX2hwcGExMCwgIDE5fSwNCisgIHsiJWlvciIsICAg YmZkX21hY2hfaHBwYTEwLCAgMjF9LA0KKyAgeyIlaXBzdyIsICBiZmRfbWFjaF9ocHBhMTAsICAy Mn0sDQorICB7IiVpc3IiLCAgIGJmZF9tYWNoX2hwcGExMCwgIDIwfSwNCisgIHsiJWl0bXIiLCAg YmZkX21hY2hfaHBwYTEwLCAgMTZ9LA0KKyAgeyIlaXZhIiwgICBiZmRfbWFjaF9ocHBhMTAsICAx NH0sDQorICB7IiVtcnAiLCAgIGJmZF9tYWNoX2hwcGEyMHcsICAyfSwNCisgIHsiJW1ycCIsICAg YmZkX21hY2hfaHBwYTEwLCAgMzF9LA0KKyAgeyIlcGNvcSIsICBiZmRfbWFjaF9ocHBhMTAsICAx OH0sDQorICB7IiVwY3NxIiwgIGJmZF9tYWNoX2hwcGExMCwgIDE3fSwNCisgIHsiJXBpZHIxIiwg YmZkX21hY2hfaHBwYTEwLCAgIDh9LA0KKyAgeyIlcGlkcjIiLCBiZmRfbWFjaF9ocHBhMTAsICAg OX0sDQorICB7IiVwaWRyMyIsIGJmZF9tYWNoX2hwcGExMCwgIDEyfSwNCisgIHsiJXBpZHI0Iiwg YmZkX21hY2hfaHBwYTEwLCAgMTN9LA0KKyAgeyIlcHBkYSIsICBiZmRfbWFjaF9ocHBhMTAsICAy NH0sDQorICB7IiVyMCIsICAgIGJmZF9tYWNoX2hwcGExMCwgICAwfSwNCisgIHsiJXIxIiwgICAg YmZkX21hY2hfaHBwYTEwLCAgIDF9LA0KKyAgeyIlcjEwIiwgICBiZmRfbWFjaF9ocHBhMTAsICAx MH0sDQorICB7IiVyMTEiLCAgIGJmZF9tYWNoX2hwcGExMCwgIDExfSwNCisgIHsiJXIxMiIsICAg YmZkX21hY2hfaHBwYTEwLCAgMTJ9LA0KKyAgeyIlcjEzIiwgICBiZmRfbWFjaF9ocHBhMTAsICAx M30sDQorICB7IiVyMTQiLCAgIGJmZF9tYWNoX2hwcGExMCwgIDE0fSwNCisgIHsiJXIxNSIsICAg YmZkX21hY2hfaHBwYTEwLCAgMTV9LA0KKyAgeyIlcjE2IiwgICBiZmRfbWFjaF9ocHBhMTAsICAx Nn0sDQorICB7IiVyMTciLCAgIGJmZF9tYWNoX2hwcGExMCwgIDE3fSwNCisgIHsiJXIxOCIsICAg YmZkX21hY2hfaHBwYTEwLCAgMTh9LA0KKyAgeyIlcjE5IiwgICBiZmRfbWFjaF9ocHBhMTAsICAx OX0sDQorICB7IiVyMiIsICAgIGJmZF9tYWNoX2hwcGExMCwgICAyfSwNCisgIHsiJXIyMCIsICAg YmZkX21hY2hfaHBwYTEwLCAgMjB9LA0KKyAgeyIlcjIxIiwgICBiZmRfbWFjaF9ocHBhMTAsICAy MX0sDQorICB7IiVyMjIiLCAgIGJmZF9tYWNoX2hwcGExMCwgIDIyfSwNCisgIHsiJXIyMyIsICAg YmZkX21hY2hfaHBwYTEwLCAgMjN9LA0KKyAgeyIlcjI0IiwgICBiZmRfbWFjaF9ocHBhMTAsICAy NH0sDQorICB7IiVyMjUiLCAgIGJmZF9tYWNoX2hwcGExMCwgIDI1fSwNCisgIHsiJXIyNiIsICAg YmZkX21hY2hfaHBwYTEwLCAgMjZ9LA0KKyAgeyIlcjI3IiwgICBiZmRfbWFjaF9ocHBhMTAsICAy N30sDQorICB7IiVyMjgiLCAgIGJmZF9tYWNoX2hwcGExMCwgIDI4fSwNCisgIHsiJXIyOSIsICAg YmZkX21hY2hfaHBwYTEwLCAgMjl9LA0KKyAgeyIlcjMiLCAgICBiZmRfbWFjaF9ocHBhMTAsICAg M30sDQorICB7IiVyMzAiLCAgIGJmZF9tYWNoX2hwcGExMCwgIDMwfSwNCisgIHsiJXIzMSIsICAg YmZkX21hY2hfaHBwYTEwLCAgMzF9LA0KKyAgeyIlcjQiLCAgICBiZmRfbWFjaF9ocHBhMTAsICAg NH0sDQorICB7IiVyNSIsICAgIGJmZF9tYWNoX2hwcGExMCwgICA1fSwNCisgIHsiJXI2IiwgICAg YmZkX21hY2hfaHBwYTEwLCAgIDZ9LA0KKyAgeyIlcjciLCAgICBiZmRfbWFjaF9ocHBhMTAsICAg N30sDQorICB7IiVyOCIsICAgIGJmZF9tYWNoX2hwcGExMCwgICA4fSwNCisgIHsiJXI5IiwgICAg YmZkX21hY2hfaHBwYTEwLCAgIDl9LA0KKyAgeyIlcmN0ciIsICBiZmRfbWFjaF9ocHBhMTAsICAg MH0sDQorICB7IiVyZXQwIiwgIGJmZF9tYWNoX2hwcGExMCwgIDI4fSwNCisgIHsiJXJldDEiLCAg YmZkX21hY2hfaHBwYTEwLCAgMjl9LA0KKyAgeyIlcnAiLCAgICBiZmRfbWFjaF9ocHBhMTAsICAg Mn0sDQorICB7IiVzYXIiLCAgIGJmZF9tYWNoX2hwcGExMCwgIDExfSwNCisgIHsiJXNwIiwgICAg YmZkX21hY2hfaHBwYTEwLCAgMzB9LA0KKyAgeyIlc3IwIiwgICBiZmRfbWFjaF9ocHBhMTAsICAg MH0sDQorICB7IiVzcjEiLCAgIGJmZF9tYWNoX2hwcGExMCwgICAxfSwNCisgIHsiJXNyMiIsICAg YmZkX21hY2hfaHBwYTEwLCAgIDJ9LA0KKyAgeyIlc3IzIiwgICBiZmRfbWFjaF9ocHBhMTAsICAg M30sDQorICB7IiVzcjQiLCAgIGJmZF9tYWNoX2hwcGExMCwgICA0fSwNCisgIHsiJXNyNSIsICAg YmZkX21hY2hfaHBwYTEwLCAgIDV9LA0KKyAgeyIlc3I2IiwgICBiZmRfbWFjaF9ocHBhMTAsICAg Nn0sDQorICB7IiVzcjciLCAgIGJmZF9tYWNoX2hwcGExMCwgICA3fSwNCisgIHsiJXQxIiwgICAg YmZkX21hY2hfaHBwYTEwLCAgMjJ9LA0KKyAgeyIldDIiLCAgICBiZmRfbWFjaF9ocHBhMTAsICAy MX0sDQorICB7IiV0MyIsICAgIGJmZF9tYWNoX2hwcGExMCwgIDIwfSwNCisgIHsiJXQ0IiwgICAg YmZkX21hY2hfaHBwYTEwLCAgMTl9LA0KKyAgeyIldGYxIiwgICBiZmRfbWFjaF9ocHBhMTAsICAx MX0sDQorICB7IiV0ZjIiLCAgIGJmZF9tYWNoX2hwcGExMCwgIDEwfSwNCisgIHsiJXRmMyIsICAg YmZkX21hY2hfaHBwYTEwLCAgIDl9LA0KKyAgeyIldGY0IiwgICBiZmRfbWFjaF9ocHBhMTAsICAg OH0sDQorICB7IiV0cjAiLCAgIGJmZF9tYWNoX2hwcGExMCwgIDI0fSwNCisgIHsiJXRyMSIsICAg YmZkX21hY2hfaHBwYTEwLCAgMjV9LA0KKyAgeyIldHIyIiwgICBiZmRfbWFjaF9ocHBhMTAsICAy Nn0sDQorICB7IiV0cjMiLCAgIGJmZF9tYWNoX2hwcGExMCwgIDI3fSwNCisgIHsiJXRyNCIsICAg YmZkX21hY2hfaHBwYTEwLCAgMjh9LA0KKyAgeyIldHI1IiwgICBiZmRfbWFjaF9ocHBhMTAsICAy OX0sDQorICB7IiV0cjYiLCAgIGJmZF9tYWNoX2hwcGExMCwgIDMwfSwNCisgIHsiJXRyNyIsICAg YmZkX21hY2hfaHBwYTEwLCAgMzF9DQogfTsNCiANCisvKiBIYXNoIHRhYmxlIGZvciByZWdpc3Rl ciBsb29rdXAuICovDQorc3RhdGljIHN0cnVjdCBoYXNoX2NvbnRyb2wgKnJlZ19oYXNoOw0KKw0K IC8qIFRoaXMgdGFibGUgaXMgc29ydGVkIGJ5IG9yZGVyIG9mIHRoZSBsZW5ndGggb2YgdGhlIHN0 cmluZy4gVGhpcyBpcw0KICAgIHNvIHdlIGNoZWNrIGZvciA8PiBiZWZvcmUgd2UgY2hlY2sgZm9y IDwuIElmIHdlIGhhZCBhIDw+IGFuZCBjaGVja2VkDQogICAgZm9yIDwgZmlyc3QsIHdlIHdvdWxk IGdldCBhIGZhbHNlIG1hdGNoLiAgKi8NCkBAIC0yMDMwLDM0ICsyMDQxLDYgQEAgaXNfZW5kX29m X3N0YXRlbWVudCAodm9pZCkNCiANCiAjZGVmaW5lIFJFR19OQU1FX0NOVAkoc2l6ZW9mIChwcmVf ZGVmaW5lZF9yZWdpc3RlcnMpIC8gc2l6ZW9mIChzdHJ1Y3QgcGRfcmVnKSkNCiANCi0vKiBHaXZl biBOQU1FLCBmaW5kIHRoZSByZWdpc3RlciBudW1iZXIgYXNzb2NpYXRlZCB3aXRoIHRoYXQgbmFt ZSwgcmV0dXJuDQotICAgdGhlIGludGVnZXIgdmFsdWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZl biBuYW1lIG9yIC0xIG9uIGZhaWx1cmUuICAqLw0KLQ0KLXN0YXRpYyBpbnQNCi1yZWdfbmFtZV9z ZWFyY2ggKGNoYXIgKm5hbWUpDQotew0KLSAgaW50IG1pZGRsZSwgbG93LCBoaWdoOw0KLSAgaW50 IGNtcDsNCi0NCi0gIGxvdyA9IDA7DQotICBoaWdoID0gUkVHX05BTUVfQ05UIC0gMTsNCi0NCi0g IGRvDQotICAgIHsNCi0gICAgICBtaWRkbGUgPSAobG93ICsgaGlnaCkgLyAyOw0KLSAgICAgIGNt cCA9IHN0cmNhc2VjbXAgKG5hbWUsIHByZV9kZWZpbmVkX3JlZ2lzdGVyc1ttaWRkbGVdLm5hbWUp Ow0KLSAgICAgIGlmIChjbXAgPCAwKQ0KLQloaWdoID0gbWlkZGxlIC0gMTsNCi0gICAgICBlbHNl IGlmIChjbXAgPiAwKQ0KLQlsb3cgPSBtaWRkbGUgKyAxOw0KLSAgICAgIGVsc2UNCi0JcmV0dXJu IHByZV9kZWZpbmVkX3JlZ2lzdGVyc1ttaWRkbGVdLnZhbHVlOw0KLSAgICB9DQotICB3aGlsZSAo bG93IDw9IGhpZ2gpOw0KLQ0KLSAgcmV0dXJuIC0xOw0KLX0NCi0NCiAvKiBSZWFkIGEgbnVtYmVy IGZyb20gUy4gIFRoZSBudW1iZXIgbWlnaHQgY29tZSBpbiBvbmUgb2YgbWFueSBmb3JtcywNCiAg ICB0aGUgbW9zdCBjb21tb24gd2lsbCBiZSBhIGhleCBvciBkZWNpbWFsIGNvbnN0YW50LCBidXQg aXQgY291bGQgYmUNCiAgICBhIHByZS1kZWZpbmVkIHJlZ2lzdGVyIChZdWshKSwgb3IgYW4gYWJz b2x1dGUgc3ltYm9sLg0KQEAgLTIwODAsOSArMjA2Myw5IEBAIHBhX3BhcnNlX251bWJlciAoY2hh ciAqKnMsIGludCBpc19mbG9hdCkNCiAgIGNoYXIgKm5hbWU7DQogICBjaGFyIGM7DQogICBzeW1i b2xTICpzeW07DQotICBpbnQgc3RhdHVzOw0KICAgY2hhciAqcCA9ICpzOw0KICAgYmZkX2Jvb2xl YW4gaGF2ZV9wcmVmaXg7DQorICBjb25zdCBzdHJ1Y3QgcGRfcmVnICpyOw0KIA0KICAgLyogU2tp cCB3aGl0ZXNwYWNlIGJlZm9yZSB0aGUgbnVtYmVyLiAgKi8NCiAgIHdoaWxlICgqcCA9PSAnICcg fHwgKnAgPT0gJ1x0JykNCkBAIC0yMTg4LDkgKzIxNzEsOSBAQCBwYV9wYXJzZV9udW1iZXIgKGNo YXIgKipzLCBpbnQgaXNfZmxvYXQpDQogCSAgICAgIGMgPSAqcDsNCiAJICAgIH0NCiAJICAqcCA9 IDA7DQotCSAgc3RhdHVzID0gcmVnX25hbWVfc2VhcmNoIChuYW1lKTsNCi0JICBpZiAoc3RhdHVz ID49IDApDQotCSAgICBudW0gPSBzdGF0dXM7DQorCSAgciA9IChjb25zdCBzdHJ1Y3QgcGRfcmVn ICopIGhhc2hfZmluZCAocmVnX2hhc2gsIG5hbWUpOw0KKwkgIGlmIChyICE9IE5VTEwpDQorCSAg ICBudW0gPSByLT52YWx1ZTsNCiAJICBlbHNlDQogCSAgICB7DQogCSAgICAgIGlmIChwcmludF9l cnJvcnMpDQpAQCAtMjI3MSw5ICsyMjU0LDkgQEAgbmVlZF9wYTExX29wY29kZSAodm9pZCkNCiAg ICAgew0KICAgICAgIC8qIElmIHRoaXMgaW5zdHJ1Y3Rpb24gaXMgc3BlY2lmaWMgdG8gYSBwYXJ0 aWN1bGFyIGFyY2hpdGVjdHVyZSwNCiAJIHRoZW4gc2V0IGEgbmV3IGFyY2hpdGVjdHVyZS4gICov DQotICAgICAgaWYgKGJmZF9nZXRfbWFjaCAoc3Rkb3V0cHV0KSA8IHBhMTEpDQorICAgICAgaWYg KGJmZF9nZXRfbWFjaCAoc3Rkb3V0cHV0KSA8IGJmZF9tYWNoX2hwcGExMSkNCiAJew0KLQkgIGlm ICghYmZkX3NldF9hcmNoX21hY2ggKHN0ZG91dHB1dCwgYmZkX2FyY2hfaHBwYSwgcGExMSkpDQor CSAgaWYgKCFiZmRfc2V0X2FyY2hfbWFjaCAoc3Rkb3V0cHV0LCBiZmRfYXJjaF9ocHBhLCBiZmRf bWFjaF9ocHBhMTEpKQ0KIAkgICAgYXNfd2FybiAoXygiY291bGQgbm90IHVwZGF0ZSBhcmNoaXRl Y3R1cmUgYW5kIG1hY2hpbmUiKSk7DQogCX0NCiAgICAgICByZXR1cm4gVFJVRTsNCkBAIC0zMjgz LDcgKzMyNjYsNyBAQCBwYV9pcCAoY2hhciAqc3RyKQ0KIA0KICAgICAgIHRoZV9pbnNuLnJlbG9j ID0gUl9IUFBBX05PTkU7DQogDQotICAgICAgaWYgKGluc24tPmFyY2ggPj0gcGEyMA0KKyAgICAg IGlmIChpbnNuLT5hcmNoID49IGJmZF9tYWNoX2hwcGEyMA0KIAkgICYmIGJmZF9nZXRfbWFjaCAo c3Rkb3V0cHV0KSA8IGluc24tPmFyY2gpDQogCWdvdG8gZmFpbGVkOw0KIA0KQEAgLTQ3MTQsNyAr NDY5Nyw3IEBAIHBhX2lwIChjaGFyICpzdHIpDQogDQogCSAgICAvKiBIYW5kbGUgMTQgYml0IGlt bWVkaWF0ZSwgc2hpZnRlZCBsZWZ0IHRocmVlIHRpbWVzLiAgKi8NCiAJICAgIGNhc2UgJyMnOg0K LQkgICAgICBpZiAoYmZkX2dldF9tYWNoIChzdGRvdXRwdXQpICE9IHBhMjApDQorCSAgICAgIGlm IChiZmRfZ2V0X21hY2ggKHN0ZG91dHB1dCkgIT0gYmZkX21hY2hfaHBwYTIwKQ0KIAkJYnJlYWs7 DQogCSAgICAgIHRoZV9pbnNuLmZpZWxkX3NlbGVjdG9yID0gcGFfY2hrX2ZpZWxkX3NlbGVjdG9y ICgmcyk7DQogCSAgICAgIGdldF9leHByZXNzaW9uIChzKTsNCkBAIC02ODM0LDI1ICs2ODE3LDI1 IEBAIHBhX2xldmVsIChpbnQgdW51c2VkIEFUVFJJQlVURV9VTlVTRUQpDQogICBpZiAoc3RybmNt cCAobGV2ZWwsICIxLjAiLCAzKSA9PSAwKQ0KICAgICB7DQogICAgICAgaW5wdXRfbGluZV9wb2lu dGVyICs9IDM7DQotICAgICAgaWYgKCFiZmRfc2V0X2FyY2hfbWFjaCAoc3Rkb3V0cHV0LCBiZmRf YXJjaF9ocHBhLCAxMCkpDQorICAgICAgaWYgKCFiZmRfc2V0X2FyY2hfbWFjaCAoc3Rkb3V0cHV0 LCBiZmRfYXJjaF9ocHBhLCBiZmRfbWFjaF9ocHBhMTApKQ0KIAlhc193YXJuIChfKCJjb3VsZCBu b3Qgc2V0IGFyY2hpdGVjdHVyZSBhbmQgbWFjaGluZSIpKTsNCiAgICAgfQ0KICAgZWxzZSBpZiAo c3RybmNtcCAobGV2ZWwsICIxLjEiLCAzKSA9PSAwKQ0KICAgICB7DQogICAgICAgaW5wdXRfbGlu ZV9wb2ludGVyICs9IDM7DQotICAgICAgaWYgKCFiZmRfc2V0X2FyY2hfbWFjaCAoc3Rkb3V0cHV0 LCBiZmRfYXJjaF9ocHBhLCAxMSkpDQorICAgICAgaWYgKCFiZmRfc2V0X2FyY2hfbWFjaCAoc3Rk b3V0cHV0LCBiZmRfYXJjaF9ocHBhLCBiZmRfbWFjaF9ocHBhMTEpKQ0KIAlhc193YXJuIChfKCJj b3VsZCBub3Qgc2V0IGFyY2hpdGVjdHVyZSBhbmQgbWFjaGluZSIpKTsNCiAgICAgfQ0KICAgZWxz ZSBpZiAoc3RybmNtcCAobGV2ZWwsICIyLjB3IiwgNCkgPT0gMCkNCiAgICAgew0KICAgICAgIGlu cHV0X2xpbmVfcG9pbnRlciArPSA0Ow0KLSAgICAgIGlmICghYmZkX3NldF9hcmNoX21hY2ggKHN0 ZG91dHB1dCwgYmZkX2FyY2hfaHBwYSwgMjUpKQ0KKyAgICAgIGlmICghYmZkX3NldF9hcmNoX21h Y2ggKHN0ZG91dHB1dCwgYmZkX2FyY2hfaHBwYSwgYmZkX21hY2hfaHBwYTIwdykpDQogCWFzX3dh cm4gKF8oImNvdWxkIG5vdCBzZXQgYXJjaGl0ZWN0dXJlIGFuZCBtYWNoaW5lIikpOw0KICAgICB9 DQogICBlbHNlIGlmIChzdHJuY21wIChsZXZlbCwgIjIuMCIsIDMpID09IDApDQogICAgIHsNCiAg ICAgICBpbnB1dF9saW5lX3BvaW50ZXIgKz0gMzsNCi0gICAgICBpZiAoIWJmZF9zZXRfYXJjaF9t YWNoIChzdGRvdXRwdXQsIGJmZF9hcmNoX2hwcGEsIDIwKSkNCisgICAgICBpZiAoIWJmZF9zZXRf YXJjaF9tYWNoIChzdGRvdXRwdXQsIGJmZF9hcmNoX2hwcGEsIGJmZF9tYWNoX2hwcGEyMCkpDQog CWFzX3dhcm4gKF8oImNvdWxkIG5vdCBzZXQgYXJjaGl0ZWN0dXJlIGFuZCBtYWNoaW5lIikpOw0K ICAgICB9DQogICBlbHNlDQpAQCAtODI1OSw3ICs4MjQyLDcgQEAgbWRfYmVnaW4gKHZvaWQpDQog ICBjYWxsX2luZm9fcm9vdCA9IE5VTEw7DQogDQogICAvKiBTZXQgdGhlIGRlZmF1bHQgbWFjaGlu ZSB0eXBlLiAgKi8NCi0gIGlmICghYmZkX3NldF9hcmNoX21hY2ggKHN0ZG91dHB1dCwgYmZkX2Fy Y2hfaHBwYSwgREVGQVVMVF9MRVZFTCkpDQorICBpZiAoIWJmZF9zZXRfYXJjaF9tYWNoIChzdGRv dXRwdXQsIGJmZF9hcmNoX2hwcGEsIGJmZF9tYWNoKSkNCiAgICAgYXNfd2FybiAoXygiY291bGQg bm90IHNldCBhcmNoaXRlY3R1cmUgYW5kIG1hY2hpbmUiKSk7DQogDQogICAvKiBGb2xkaW5nIG9m IHRleHQgYW5kIGRhdGEgc2VnbWVudHMgZmFpbHMgbWlzZXJhYmx5IG9uIHRoZSBQQS4NCkBAIC04 NTgwLDYgKzg1NjMsODQgQEAgcGFfdnRhYmxlX2VudHJ5IChpbnQgaWdub3JlIEFUVFJJQlVURV9V Tg0KIH0NCiANCiBzdGF0aWMgdm9pZA0KK2luaXRfZGVmYXVsdF9hcmNoICgpDQorew0KKy8qIENh bm5vdCBtYWtlIGJvdGggYXZhaWxhYmxlIHVudGlsIGJmZCBpcyBtZXJnZWQgKi8NCisjaWYgVEFS R0VUX0FSQ0hfU0laRSA9PSA2NA0KKyAgaWYgKHN0cmNtcCAoZGVmYXVsdF9hcmNoLCAiaHBwYTY0 IikgPT0gMCkNCisgICAgew0KKyAgICAgIC8qIEhvdyB0byBnZW5lcmF0ZSBhIHJlbG9jYXRpb24u ICAqLw0KKyAgICAgIGhwcGFfZ2VuX3JlbG9jX3R5cGUgPSBfYmZkX2VsZjY0X2hwcGFfZ2VuX3Jl bG9jX3R5cGU7DQorICAgICAgZWxmX2hwcGFfcmVsb2NfZmluYWxfdHlwZSA9IGVsZjY0X2hwcGFf cmVsb2NfZmluYWxfdHlwZTsNCisgICAgICBocHBhX2FyY2hfc2l6ZSA9IDY0Ow0KKyAgICAgIGJm ZF9tYWNoID0gYmZkX21hY2hfaHBwYTIwdzsNCisgICAgfSBlbHNlDQorI2Vsc2UNCisgIGlmIChz dHJjbXAgKGRlZmF1bHRfYXJjaCwgImhwcGEiKSA9PSAwKQ0KKyAgICB7DQorICAgICAgLyogSG93 IHRvIGdlbmVyYXRlIGEgcmVsb2NhdGlvbi4gICovDQorICAgICAgaHBwYV9nZW5fcmVsb2NfdHlw ZSA9IF9iZmRfZWxmMzJfaHBwYV9nZW5fcmVsb2NfdHlwZTsNCisgICAgICBlbGZfaHBwYV9yZWxv Y19maW5hbF90eXBlID0gZWxmMzJfaHBwYV9yZWxvY19maW5hbF90eXBlOw0KKyAgICAgIGhwcGFf YXJjaF9zaXplID0gMzI7DQorICAgICAgYmZkX21hY2ggPSBiZmRfbWFjaF9ocHBhMTA7DQorICAg IH0gZWxzZQ0KKyNlbmRpZg0KKyAgICBhc19mYXRhbCAoIkludmFsaWQgZGVmYXVsdCBhcmNoaXRl Y3R1cmUsIGJyb2tlbiBhc3NlbWJsZXIuIik7DQorDQorICBzZXR1cF9yZWdfaGFzaCgpOw0KK30N CisNCitzdGF0aWMgdm9pZA0KK3NldHVwX3JlZ19oYXNoKCkNCit7DQorICAvKiBJbml0aWFsaXpl IHJlZ19oYXNoIGhhc2ggdGFibGUgKi8NCisgIHJlZ19oYXNoID0gaGFzaF9uZXcgKCk7DQorDQor ICBjb25zdCBzdHJ1Y3QgcGRfcmVnICpyZWdfZW50cnk7DQorDQorICBmb3IgKHJlZ19lbnRyeSA9 IHByZV9kZWZpbmVkX3JlZ2lzdGVyczsNCisgICAgICAgcmVnX2VudHJ5IDwgcHJlX2RlZmluZWRf cmVnaXN0ZXJzICsgUkVHX05BTUVfQ05UOw0KKyAgICAgICByZWdfZW50cnkrKykNCisgICAgew0K KyAgICAgIGlmIChyZWdfZW50cnktPm1hY2ggPiBiZmRfbWFjaCkNCisgICAgICAgIGNvbnRpbnVl Ow0KKw0KKyAgICAgIC8qIFdlIGludGVudGlvbmFsbHkgZG9uJ3QgY2hlY2sgdGhlIHJldHVybiBz dGF0dXMgaGVyZS4gIEJlY2F1c2UNCisgICAgICAgICB3aXRoIG9uZSBleGNlcHRpb24sIHRoZSBo cHBhNjQgYW5kIGhwcGEzMiBzZXRzIGFyZSB0aGUgc2FtZSwNCisJIHdlIG1ha2Ugc3VyZSB0aGF0 IHdlIHdpbGwgc2VlIHRoZSBocHBhNjQgb3BzIGZpcnN0IGlmIHdlJ3JlDQorCSB3aWxsaW5nIHRv IHRha2UgdGhlbSwgYW5kIGp1c3QgZmF1bHQgb24gdGhlIHNlY29uZCBpbnNlcnQuICovDQorICAg ICAgaGFzaF9pbnNlcnQgKHJlZ19oYXNoLCByZWdfZW50cnktPm5hbWUsIChQVFIpIHJlZ19lbnRy eSk7DQorICAgIH0NCit9DQorDQordm9pZA0KK2hwcGFfcHJpbnRfc3RhdGlzdGljcyAoRklMRSAq ZmlsZSkNCit7DQorICBoYXNoX3ByaW50X3N0YXRpc3RpY3MgKGZpbGUsICJocHBhIG9wY29kZSIs IG9wX2hhc2gpOw0KKyAgaGFzaF9wcmludF9zdGF0aXN0aWNzIChmaWxlLCAiaHBwYSByZWdpc3Rl ciIsIHJlZ19oYXNoKTsNCit9DQorDQorLyogQ2FsbGVkIGJ5IFRBUkdFVF9GT1JNQVQgKi8NCitj b25zdCBjaGFyICoNCitocHBhX3RhcmdldF9mb3JtYXQgKCkNCit7DQorICAvKiBXZSBkb24ndCBn ZXQgYSBjaGFuY2UgdG8gaW5pdGlhbGl6ZSBhbnl0aGluZyBiZWZvcmUgd2UncmUgY2FsbGVkLA0K KyAgICAgc28gaGFuZGxlIHRoYXQgbm93LiAgKi8NCisNCisgIGluaXRfZGVmYXVsdF9hcmNoICgp Ow0KKw0KKyNpZmRlZiBPQkpfRUxGDQorICByZXR1cm4gaHBwYV9hcmNoX3NpemUgPT0gNjQgPyBF TEY2NF9UQVJHRVRfRk9STUFUIDogRUxGX1RBUkdFVF9GT1JNQVQ7DQorI2VuZGlmDQorDQorI2lm ZGVmIE9CSl9TT00NCisgIHJldHVybiAic29tIjsNCisjZW5kaWYNCisNCisgIGFib3J0ICgpOw0K K30NCisNCitzdGF0aWMgdm9pZA0KIHBhX3Z0YWJsZV9pbmhlcml0IChpbnQgaWdub3JlIEFUVFJJ QlVURV9VTlVTRUQpDQogew0KICAgc3RydWN0IGZpeCAqbmV3X2ZpeDsNCkluZGV4OiBjb25maWcv dGMtaHBwYS5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2dhcy9jb25maWcv dGMtaHBwYS5oLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4zMQ0KZGlmZiAtdSAtcCAtcjEuMzEg dGMtaHBwYS5oDQotLS0gY29uZmlnL3RjLWhwcGEuaAkyNCBNYXkgMjAwNiAxMTowNTo0MiAtMDAw MAkxLjMxDQorKysgY29uZmlnL3RjLWhwcGEuaAkyMyBPY3QgMjAwNiAwMzoxMTozNCAtMDAwMA0K QEAgLTQ2LDMyICs0Niw0MiBAQA0KICNkZWZpbmUgV09SS0lOR19ET1RfV09SRA0KIA0KICNpZmRl ZiBPQkpfRUxGDQotI2lmIFRBUkdFVF9BUkNIX1NJWkUgPT0gNjQNCi0jaW5jbHVkZSAiYmZkL2Vs ZjY0LWhwcGEuaCINCi0jaWYgZGVmaW5lZCAoVEVfTElOVVgpIHx8IGRlZmluZWQgKFRFX05ldEJT RCkNCi0jZGVmaW5lIFRBUkdFVF9GT1JNQVQgImVsZjY0LWhwcGEtbGludXgiDQotI2Vsc2UNCi0j ZGVmaW5lIFRBUkdFVF9GT1JNQVQgImVsZjY0LWhwcGEiDQotI2VuZGlmDQotI2Vsc2UgLyogVEFS R0VUX0FSQ0hfU0laRSA9PSAzMiAqLw0KLSNpbmNsdWRlICJiZmQvZWxmMzItaHBwYS5oIg0KLSNp ZiBkZWZpbmVkIChURV9MSU5VWCkNCi0jZGVmaW5lIFRBUkdFVF9GT1JNQVQgImVsZjMyLWhwcGEt bGludXgiDQotI2Vsc2UNCi0jaWYgZGVmaW5lZCAoVEVfTmV0QlNEKQ0KLSNkZWZpbmUgVEFSR0VU X0ZPUk1BVCAiZWxmMzItaHBwYS1uZXRic2QiDQotI2Vsc2UNCi0jZGVmaW5lIFRBUkdFVF9GT1JN QVQgImVsZjMyLWhwcGEiDQotI2VuZGlmDQotI2VuZGlmDQotI2VuZGlmDQotI2VuZGlmDQorLyog Q2Fubm90IG1ha2UgdGhpcyBydW50aW1lIHNlbGVjdGFibGUgdW50aWwgYmZkIGlzIG1lcmdlZCAq Lw0KKyMgIGlmIFRBUkdFVF9BUkNIX1NJWkUgPT0gNjQNCisjICBpbmNsdWRlICJiZmQvZWxmNjQt aHBwYS5oIg0KKyMgIGVsc2UgDQorIyAgaW5jbHVkZSAiYmZkL2VsZjMyLWhwcGEuaCINCisjICBl bmRpZg0KKw0KKyMgIGlmZGVmIFRFX0xJTlVYDQorIyAgZGVmaW5lIEVMRl9UQVJHRVRfRk9STUFU ICAgICAgICJlbGYzMi1ocHBhLWxpbnV4Ig0KKyMgIGRlZmluZSBFTEY2NF9UQVJHRVRfRk9STUFU ICAgICAiZWxmNjQtaHBwYS1saW51eCINCisjICBlbmRpZg0KKw0KKyMgIGlmZGVmIFRFX05ldEJT RA0KKyMgIGRlZmluZSBFTEZfVEFSR0VUX0ZPUk1BVCAgICAgICAiZWxmMzItaHBwYS1uZXRic2Qi DQorIyAgZW5kaWYNCisNCisjICBpZm5kZWYgRUxGX1RBUkdFVF9GT1JNQVQNCisjICBkZWZpbmUg RUxGX1RBUkdFVF9GT1JNQVQgICAgICAgImVsZjMyLWhwcGEiDQorIyAgZW5kaWYNCisNCisjICBp Zm5kZWYgRUxGNjRfVEFSR0VUX0ZPUk1BVA0KKyMgIGRlZmluZSBFTEY2NF9UQVJHRVRfRk9STUFU ICAgICAiZWxmNjQtaHBwYSINCisjICBlbmRpZg0KKw0KKyNlbmRpZiAvKiBPQkpfRUxGICovDQog DQogI2lmZGVmIE9CSl9TT00NCiAjaW5jbHVkZSAiYmZkL3NvbS5oIg0KLSNkZWZpbmUgVEFSR0VU X0ZPUk1BVCAic29tIg0KICNlbmRpZg0KIA0KKyNkZWZpbmUgVEFSR0VUX0ZPUk1BVCBocHBhX3Rh cmdldF9mb3JtYXQoKQ0KK2V4dGVybiBjb25zdCBjaGFyICpocHBhX3RhcmdldF9mb3JtYXQgKHZv aWQpOw0KKw0KK3ZvaWQgaHBwYV9wcmludF9zdGF0aXN0aWNzIChGSUxFICopOw0KKyNkZWZpbmUg dGNfcHJpbnRfc3RhdGlzdGljcyBocHBhX3ByaW50X3N0YXRpc3RpY3MNCisNCiAjaWYgZGVmaW5l ZChURV9MSU5VWCkgfHwgZGVmaW5lZChURV9OZXRCU0QpDQogLyogRGVmaW5lIHRvIGNvbXBpbGUg aW4gYW4gZXh0cmEgYXNzZW1ibGVyIG9wdGlvbiwgLWMsIHdoaWNoIGVuYWJsZXMgYQ0KICAgIHdh cm5pbmcgKG9uY2UgcGVyIGZpbGUpIHdoZW4gYSBjb21tZW50IGlzIGVuY291bnRlcmVkLg0KQEAg LTgxLDEyICs5MSw2IEBADQogI2RlZmluZSBXQVJOX0NPTU1FTlRTIDENCiAjZW5kaWYNCiANCi0v KiBGSVhNRS4gIFdoeSBvaCB3aHkgYXJlbid0IHRoZXNlIGRlZmluZWQgc29tZXdoZXJlIGdsb2Jh bGx5PyAgKi8NCi0jaWZuZGVmIEZBTFNFDQotI2RlZmluZSBGQUxTRSAgICgwKQ0KLSNkZWZpbmUg VFJVRSAgICAoIUZBTFNFKQ0KLSNlbmRpZg0KLQ0KICNkZWZpbmUgQVNFQ19OVUxMIChhc2VjdGlv biAqKTANCiANCiAvKiBwYV9kZWZpbmVfbGFiZWwgZ2V0cyB1c2VkIG91dHNpZGUgb2YgdGMtaHBw YS5jIHZpYSB0Y19mcm9iX2xhYmVsLiAgKi8NCl== --=-57XZxrUUtIsbT7d1FKBe-- --=-3PWOcOdWbBj5LdvabaGq Content-Type: application/pgp-signature; name=signature.asc Content-Description: Ceci est une partie de message =?ISO-8859-1?Q?num=E9riquement?= =?ISO-8859-1?Q?_sign=E9e?= -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (GNU/Linux) iD8DBQBFPDX15M5hmdCYCpkRAvY0AKC3fsHLCWpzncYMDTY2hT9OqZCXIgCgyFmc 5Zh3ggqONzzjITrfWXUcMeo= =qQDr -----END PGP SIGNATURE----- --=-3PWOcOdWbBj5LdvabaGq-- --===============1628382915== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ parisc-linux mailing list parisc-linux@lists.parisc-linux.org http://lists.parisc-linux.org/mailman/listinfo/parisc-linux --===============1628382915==--