From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from sc8-sf-mx1-b.sourceforge.net ([10.3.1.11] helo=sc8-sf-mx1.sourceforge.net) by sc8-sf-list1.sourceforge.net with esmtp (Exim 4.30) id 1Cu8qq-0005s0-Ls for user-mode-linux-devel@lists.sourceforge.net; Thu, 27 Jan 2005 04:34:20 -0800 Received: from dgate2.fujitsu-siemens.com ([217.115.66.36]) by sc8-sf-mx1.sourceforge.net with esmtp (Exim 4.41) id 1Cu8qo-0001Tn-G4 for user-mode-linux-devel@lists.sourceforge.net; Thu, 27 Jan 2005 04:34:20 -0800 Message-ID: <41F8E1B9.9000903@fujitsu-siemens.com> From: Bodo Stroesser MIME-Version: 1.0 References: <41F7C963.9080704@fujitsu-siemens.com> <200501262213.32396.blaisorblade@yahoo.it> In-Reply-To: <200501262213.32396.blaisorblade@yahoo.it> Content-Type: multipart/mixed; boundary="------------080800020708040002000106" Subject: [uml-devel] Re: UML running on a SMP host: bug in SKAS3 patch Sender: user-mode-linux-devel-admin@lists.sourceforge.net Errors-To: user-mode-linux-devel-admin@lists.sourceforge.net List-Unsubscribe: , List-Id: The user-mode Linux development list List-Post: List-Help: List-Subscribe: , List-Archive: Date: Thu, 27 Jan 2005 13:42:33 +0100 To: Blaisorblade Cc: Jeff Dike , user-mode-linux devel , Gerd Knorr This is a multi-part message in MIME format. --------------080800020708040002000106 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Blaisorblade wrote: > I've not seen any update to them from their original version (i.e. when they > were first discussed). Is this correct? I guess, you're talking about my SYSEMU_SINGLESTEP patches. Since I created two patches each for 2.6.9 and 2.6.7, you should have these four patches: ../tmp/patch-2.6.7-skas-v7-reorganize ../tmp/patch-2.6.7-skas-v7-add-SYSEMU_SINGLESTEP ../tmp/patch-2.6.9-skas-v7-reorganize ../tmp/patch-2.6.9-skas-v7-add-SYSEMU_SINGLESTEP On my system, the change date is Nov 12. So, I guess the ones you have still are up to date. But on my 2.6.9, I added a further patch to catch some rare conditions, when doing sysaudit together with ptracing, or switching between different ptrace commands. I don't know, if I ever sent it to the list. IIRC, uml runs fine without it (but IMHO, we should use the more "complete" solution). The sysaudit/ptrace issue is a general problem for i386, too. Have attached a tarball containing all five patches. Bodo --------------080800020708040002000106 Content-Type: application/x-tar; name="sysemu-singlestep.tar" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="sysemu-singlestep.tar" c3lzZW11LXNpbmdsZXN0ZXAvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwNDA3NTUA MDAwMDAwMAAwMDAwMDAwADAwMDAwMDAwMDAwADEwMTc2MTU3MjMzADAxMzI2NQAgNQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAHJvb3QA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcm9vdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABzeXNlbXUtc2luZ2xlc3RlcC9wYXRjaC0yLjYu Ny1za2FzLXY3LWFkZC1TWVNFTVVfU0lOR0xFU1RFUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAwMDAwADAwMDAwMDAAMDAwMDAwMDU2MDEA MTAxNzYxNTY3NzQAMDIxNTY2ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAHVzdGFyICAAcm9vdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABy b290AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0t LSBhL2luY2x1ZGUvbGludXgvcHRyYWNlLmgJMjAwNC0xMS0xMCAxODoyNDo1OS4xMjA4NTA4 MDggKzAxMDAKKysrIGIvaW5jbHVkZS9saW51eC9wdHJhY2UuaAkyMDA0LTExLTEwIDE4OjI2 OjA4Ljg5NDI0MzY0MCArMDEwMApAQCAtMjEsNiArMjEsNyBAQAogCiAjZGVmaW5lIFBUUkFD RV9TWVNDQUxMCQkgIDI0CiAjZGVmaW5lIFBUUkFDRV9TWVNFTVUJCSAgMzEKKyNkZWZpbmUg UFRSQUNFX1NZU0VNVV9TSU5HTEVTVEVQICAzMgogCiAvKiAweDQyMDAtMHg0MzAwIGFyZSBy ZXNlcnZlZCBmb3IgYXJjaGl0ZWN0dXJlLWluZGVwZW5kZW50IGFkZGl0aW9ucy4gICovCiAj ZGVmaW5lIFBUUkFDRV9TRVRPUFRJT05TCTB4NDIwMAotLS0gYS9hcmNoL2kzODYva2VybmVs L3B0cmFjZS5jCTIwMDQtMTEtMTAgMTg6MjA6MDIuMDQ3MDEyODk2ICswMTAwCisrKyBiL2Fy Y2gvaTM4Ni9rZXJuZWwvcHRyYWNlLmMJMjAwNC0xMS0xMCAxODoyMzoyMS42MTI2NzQzMDQg KzAxMDAKQEAgLTM1OSw2ICszNTksNyBAQCBhc21saW5rYWdlIGludCBzeXNfcHRyYWNlKGxv bmcgcmVxdWVzdCwgCiAJCSAgYnJlYWs7CiAKIAljYXNlIFBUUkFDRV9TWVNFTVU6IC8qIGNv bnRpbnVlIGFuZCBzdG9wIGF0IG5leHQgc3lzY2FsbCwgd2hpY2ggd2lsbCBub3QgYmUgZXhl Y3V0ZWQgKi8KKwljYXNlIFBUUkFDRV9TWVNFTVVfU0lOR0xFU1RFUDogLyogU2FtZSBhcyBT WVNFTVUsIGJ1dCBzaW5nbGVzdGVwIGlmIG5vdCBzeXNjYWxsICovCiAJY2FzZSBQVFJBQ0Vf U1lTQ0FMTDogLyogY29udGludWUgYW5kIHN0b3AgYXQgbmV4dCAocmV0dXJuIGZyb20pIHN5 c2NhbGwgKi8KIAljYXNlIFBUUkFDRV9DT05UOiB7IC8qIHJlc3RhcnQgYWZ0ZXIgc2lnbmFs LiAqLwogCQlsb25nIHRtcDsKQEAgLTM2NiwyMiArMzY3LDMxIEBAIGFzbWxpbmthZ2UgaW50 IHN5c19wdHJhY2UobG9uZyByZXF1ZXN0LCAKIAkJcmV0ID0gLUVJTzsKIAkJaWYgKCh1bnNp Z25lZCBsb25nKSBkYXRhID4gX05TSUcpCiAJCQlicmVhazsKKwkJLyogcHJlcGFyZSB0byBy ZXNldCBzaW5nbGUgc3RlcCBiaXQgKi8KKwkJdG1wID0gZ2V0X3N0YWNrX2xvbmcoY2hpbGQs IEVGTF9PRkZTRVQpICYgflRSQVBfRkxBRzsKIAkJaWYgKHJlcXVlc3QgPT0gUFRSQUNFX1NZ U0VNVSkgewogCQkJc2V0X3Rza190aHJlYWRfZmxhZyhjaGlsZCwgVElGX1NZU0NBTExfRU1V KTsKIAkJCWNsZWFyX3Rza190aHJlYWRfZmxhZyhjaGlsZCwgVElGX1NZU0NBTExfVFJBQ0Up OworCQkJY2xlYXJfdHNrX3RocmVhZF9mbGFnKGNoaWxkLCBUSUZfU0lOR0xFU1RFUCk7CisJ CX0KKwkJZWxzZSBpZiAocmVxdWVzdCA9PSBQVFJBQ0VfU1lTRU1VX1NJTkdMRVNURVApIHsK KwkJCXNldF90c2tfdGhyZWFkX2ZsYWcoY2hpbGQsIFRJRl9TWVNDQUxMX0VNVSk7CisJCQlz ZXRfdHNrX3RocmVhZF9mbGFnKGNoaWxkLCBUSUZfU0lOR0xFU1RFUCk7CisJCQljbGVhcl90 c2tfdGhyZWFkX2ZsYWcoY2hpbGQsIFRJRl9TWVNDQUxMX1RSQUNFKTsKKwkJCS8qIEZvciBT WVNFTVVfU0lOR0xFU1RFUCwgc2V0IHNpbmdsZSBzdGVwIGJpdCAqLworCQkJdG1wIHw9IFRS QVBfRkxBRzsKIAkJfQogCQllbHNlIGlmIChyZXF1ZXN0ID09IFBUUkFDRV9TWVNDQUxMKSB7 CiAJCQlzZXRfdHNrX3RocmVhZF9mbGFnKGNoaWxkLCBUSUZfU1lTQ0FMTF9UUkFDRSk7CiAJ CQljbGVhcl90c2tfdGhyZWFkX2ZsYWcoY2hpbGQsIFRJRl9TWVNDQUxMX0VNVSk7CisJCQlj bGVhcl90c2tfdGhyZWFkX2ZsYWcoY2hpbGQsIFRJRl9TSU5HTEVTVEVQKTsKIAkJfQogCQll bHNlIHsKIAkJCWNsZWFyX3Rza190aHJlYWRfZmxhZyhjaGlsZCwgVElGX1NZU0NBTExfRU1V KTsKIAkJCWNsZWFyX3Rza190aHJlYWRfZmxhZyhjaGlsZCwgVElGX1NZU0NBTExfVFJBQ0Up OworCQkJY2xlYXJfdHNrX3RocmVhZF9mbGFnKGNoaWxkLCBUSUZfU0lOR0xFU1RFUCk7CiAJ CX0KLQkJY2xlYXJfdHNrX3RocmVhZF9mbGFnKGNoaWxkLCBUSUZfU0lOR0xFU1RFUCk7CiAJ CWNoaWxkLT5leGl0X2NvZGUgPSBkYXRhOwotCS8qIG1ha2Ugc3VyZSB0aGUgc2luZ2xlIHN0 ZXAgYml0IGlzIG5vdCBzZXQuICovCi0JCXRtcCA9IGdldF9zdGFja19sb25nKGNoaWxkLCBF RkxfT0ZGU0VUKSAmIH5UUkFQX0ZMQUc7CiAJCXB1dF9zdGFja19sb25nKGNoaWxkLCBFRkxf T0ZGU0VULHRtcCk7CiAJCXdha2VfdXBfcHJvY2VzcyhjaGlsZCk7CiAJCXJldCA9IDA7CkBA IC01OTYsNiArNjA2LDExIEBAIGludCBkb19zeXNjYWxsX3RyYWNlKHN0cnVjdCBwdF9yZWdz ICpyZWcKIAkJCWF1ZGl0X3N5c2NhbGxfZXhpdChjdXJyZW50LCByZWdzLT5lYXgpOwogCX0K IAlpc19zeXNlbXUgPSB0ZXN0X3RocmVhZF9mbGFnKFRJRl9TWVNDQUxMX0VNVSk7CisJLyog SWYgYSBwcm9jZXNzIHN0b3BzIG9uIHRoZSAxc3QgdHJhY2Vwb2ludCB3aXRoIFNZU0NBTExf VFJBQ0UKKyAgICAgICAgICogYW5kIHRoZW4gaXMgcmVzdW1lZCB3aXRoIFNZU0NBTExfRU1V IGFuZCBUSUZfU1lTQVVESVQgaXMgc2V0LAorCSAqICBpdCB3aWxsIGNvbWUgaW4gaGVyZS4g V2UgaGF2ZSB0byBjaGVjayB0aGlzIGFuZCByZXR1cm4gKi8KKwlpZiAoaXNfc3lzZW11ICYm IGVudHJ5ZXhpdCkKKwkJcmV0dXJuIDA7CiAKIAlpZiAoIXRlc3RfdGhyZWFkX2ZsYWcoVElG X1NZU0NBTExfVFJBQ0UpICYmICFpc19zeXNlbXUpCiAJCXJldHVybiAwOwpAQCAtNjE5LDYg KzYzNCw3IEBAIGludCBkb19zeXNjYWxsX3RyYWNlKHN0cnVjdCBwdF9yZWdzICpyZWcKIAlp ZiAoICFpc19zeXNlbXUgKQogCQlyZXR1cm4gMDsKIAorCXJlZ3MtPm9yaWdfZWF4ID0gLTE7 IC8qIGZvcmNlIHNraXAgb2Ygc3lzY2FsbCByZXN0YXJ0aW5nICovCiAJaWYgKHVubGlrZWx5 KGN1cnJlbnQtPmF1ZGl0X2NvbnRleHQpKQogCQlhdWRpdF9zeXNjYWxsX2V4aXQoY3VycmVu dCwgcmVncy0+ZWF4KTsKIAlyZXR1cm4gMTsKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHN5c2VtdS1z aW5nbGVzdGVwL3BhdGNoLTIuNi43LXNrYXMtdjctcmVvcmdhbml6ZQAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAwNjQ0ADAwMDAwMDAA MDAwMDAwMAAwMDAwMDAwNzQ1NwAxMDE3NjE1Njc3NAAwMjA0MzYAIDAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIAByb290AAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAHJvb3QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAALS0tIGEvYXJjaC9pMzg2L2tlcm5lbC9lbnRyeS5TCTIwMDQt MTEtMTAgMTY6MzA6MTYuMDAwMDAwMDAwICswMTAwCisrKyBiL2FyY2gvaTM4Ni9rZXJuZWwv ZW50cnkuUwkyMDA0LTExLTEwIDE2OjQ0OjAzLjAwMDAwMDAwMCArMDEwMApAQCAtMzQxLDEy ICszNDEsMTggQEAgc3lzY2FsbF90cmFjZV9lbnRyeToKIAl4b3JsICVlZHgsJWVkeAogCWNh bGwgZG9fc3lzY2FsbF90cmFjZQogCWNtcGwgJDAsICVlYXgKLQlqbmUgc3lzY2FsbF9leGl0 CQkjIHJldCAhPSAwIC0+IHJ1bm5pbmcgdW5kZXIgUFRSQUNFX1NZU0VNVSwKKwlqbmUgc3lz Y2FsbF9za2lwCQkjIHJldCAhPSAwIC0+IHJ1bm5pbmcgdW5kZXIgUFRSQUNFX1NZU0VNVSwK IAkJCQkJIyBzbyBtdXN0IHNraXAgYWN0dWFsIHN5c2NhbGwKIAltb3ZsIE9SSUdfRUFYKCVl c3ApLCAlZWF4CiAJY21wbCAkKG5yX3N5c2NhbGxzKSwgJWVheAogCWpuYWUgc3lzY2FsbF9j YWxsCiAJam1wIHN5c2NhbGxfZXhpdAorc3lzY2FsbF9za2lwOgorCWNsaQkJCQkjIG1ha2Ug c3VyZSB3ZSBkb24ndCBtaXNzIGFuIGludGVycnVwdAorCQkJCQkjIHNldHRpbmcgbmVlZF9y ZXNjaGVkIG9yIHNpZ3BlbmRpbmcKKwkJCQkJIyBiZXR3ZWVuIHNhbXBsaW5nIGFuZCB0aGUg aXJldAorCW1vdmwgVElfZmxhZ3MoJWVicCksICVlY3gKKwlqbXAgd29ya19wZW5kaW5nCiAK IAkjIHBlcmZvcm0gc3lzY2FsbCBleGl0IHRyYWNpbmcKIAlBTElHTgotLS0gYS9hcmNoL2kz ODYva2VybmVsL3B0cmFjZS5jCTIwMDQtMTEtMTAgMTY6Mjk6NTYuMDAwMDAwMDAwICswMTAw CisrKyBiL2FyY2gvaTM4Ni9rZXJuZWwvcHRyYWNlLmMJMjAwNC0xMS0xMCAxNzozMDoxMS4w MDAwMDAwMDAgKzAxMDAKQEAgLTM2NiwyMyArMzY2LDE5IEBAIGFzbWxpbmthZ2UgaW50IHN5 c19wdHJhY2UobG9uZyByZXF1ZXN0LCAKIAkJcmV0ID0gLUVJTzsKIAkJaWYgKCh1bnNpZ25l ZCBsb25nKSBkYXRhID4gX05TSUcpCiAJCQlicmVhazsKLQkJLyogSWYgd2UgY2FtZSBoZXJl IHdpdGggUFRSQUNFX1NZU0VNVSBhbmQgbm93IGNvbnRpbnVlIHdpdGgKLQkJICogUFRSQUNF X1NZU0NBTEwsIGVudHJ5LlMgdXNlZCB0byBpbnRlcmNlcHQgdGhlIHN5c2NhbGwgcmV0dXJu LgotCQkgKiBCdXQgaXQgc2hvdWxkbid0IQotCQkgKiBTbyB3ZSBkb24ndCBjbGVhciBUSUZf U1lTQ0FMTF9FTVUsIHdoaWNoIGlzIGFsd2F5cyB1bnVzZWQgaW4KLQkJICogdGhpcyBzcGVj aWFsIGNhc2UsIHRvIHJlbWVtYmVyLCB3ZSBjYW1lIGZyb20gU1lTRU1VLiBUaGF0Ci0JCSAq IGZsYWcgd2lsbCBiZSBjbGVhcmVkIGJ5IGRvX3N5c2NhbGxfdHJhY2UoKS4KLQkJICovCiAJ CWlmIChyZXF1ZXN0ID09IFBUUkFDRV9TWVNFTVUpIHsKIAkJCXNldF90c2tfdGhyZWFkX2Zs YWcoY2hpbGQsIFRJRl9TWVNDQUxMX0VNVSk7Ci0JCX0gZWxzZSBpZiAocmVxdWVzdCA9PSBQ VFJBQ0VfQ09OVCkgewotCQkJY2xlYXJfdHNrX3RocmVhZF9mbGFnKGNoaWxkLCBUSUZfU1lT Q0FMTF9FTVUpOworCQkJY2xlYXJfdHNrX3RocmVhZF9mbGFnKGNoaWxkLCBUSUZfU1lTQ0FM TF9UUkFDRSk7CiAJCX0KLQkJaWYgKHJlcXVlc3QgPT0gUFRSQUNFX1NZU0NBTEwpIHsKKwkJ ZWxzZSBpZiAocmVxdWVzdCA9PSBQVFJBQ0VfU1lTQ0FMTCkgewogCQkJc2V0X3Rza190aHJl YWRfZmxhZyhjaGlsZCwgVElGX1NZU0NBTExfVFJBQ0UpOwotCQl9IGVsc2UgeworCQkJY2xl YXJfdHNrX3RocmVhZF9mbGFnKGNoaWxkLCBUSUZfU1lTQ0FMTF9FTVUpOworCQl9CisJCWVs c2UgeworCQkJY2xlYXJfdHNrX3RocmVhZF9mbGFnKGNoaWxkLCBUSUZfU1lTQ0FMTF9FTVUp OwogCQkJY2xlYXJfdHNrX3RocmVhZF9mbGFnKGNoaWxkLCBUSUZfU1lTQ0FMTF9UUkFDRSk7 CiAJCX0KKwkJY2xlYXJfdHNrX3RocmVhZF9mbGFnKGNoaWxkLCBUSUZfU0lOR0xFU1RFUCk7 CiAJCWNoaWxkLT5leGl0X2NvZGUgPSBkYXRhOwogCS8qIG1ha2Ugc3VyZSB0aGUgc2luZ2xl IHN0ZXAgYml0IGlzIG5vdCBzZXQuICovCiAJCXRtcCA9IGdldF9zdGFja19sb25nKGNoaWxk LCBFRkxfT0ZGU0VUKSAmIH5UUkFQX0ZMQUc7CkBAIC00MTcsOCArNDEzLDcgQEAgYXNtbGlu a2FnZSBpbnQgc3lzX3B0cmFjZShsb25nIHJlcXVlc3QsIAogCQlyZXQgPSAtRUlPOwogCQlp ZiAoKHVuc2lnbmVkIGxvbmcpIGRhdGEgPiBfTlNJRykKIAkJCWJyZWFrOwotCQkvKiBTZWUg ZG9fc3lzY2FsbF90cmFjZSB0byBrbm93IHdoeSB3ZSBkb24ndCBjbGVhcgotCQkgKiBUSUZf U1lTQ0FMTF9FTVUuKi8KKwkJY2xlYXJfdHNrX3RocmVhZF9mbGFnKGNoaWxkLCBUSUZfU1lT Q0FMTF9FTVUpOwogCQljbGVhcl90c2tfdGhyZWFkX2ZsYWcoY2hpbGQsIFRJRl9TWVNDQUxM X1RSQUNFKTsKIAkJaWYgKChjaGlsZC0+cHRyYWNlICYgUFRfRFRSQUNFKSA9PSAwKSB7CiAJ CQkvKiBTcHVyaW91cyBkZWxheWVkIFRGIHRyYXBzIG1heSBvY2N1ciAqLwpAQCAtNTkxLDcg KzU4Niw3IEBAIG91dDoKIF9fYXR0cmlidXRlX18oKHJlZ3Bhcm0oMykpKQogaW50IGRvX3N5 c2NhbGxfdHJhY2Uoc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGludCBlbnRyeWV4aXQpCiB7Ci0J aW50IGlzX3N5c2VtdSwgaXNfc3lzdHJhY2UsIGlzX3NpbmdsZXN0ZXA7CisJaW50IGlzX3N5 c2VtdTsKIAlpZiAodW5saWtlbHkoY3VycmVudC0+YXVkaXRfY29udGV4dCkpIHsKIAkJaWYg KCFlbnRyeWV4aXQpCiAJCQlhdWRpdF9zeXNjYWxsX2VudHJ5KGN1cnJlbnQsIHJlZ3MtPm9y aWdfZWF4LApAQCAtNjAxLDIwICs1OTYsOSBAQCBpbnQgZG9fc3lzY2FsbF90cmFjZShzdHJ1 Y3QgcHRfcmVncyAqcmVnCiAJCQlhdWRpdF9zeXNjYWxsX2V4aXQoY3VycmVudCwgcmVncy0+ ZWF4KTsKIAl9CiAJaXNfc3lzZW11ID0gdGVzdF90aHJlYWRfZmxhZyhUSUZfU1lTQ0FMTF9F TVUpOwotCWlzX3N5c3RyYWNlID0gdGVzdF90aHJlYWRfZmxhZyhUSUZfU1lTQ0FMTF9UUkFD RSk7Ci0JaXNfc2luZ2xlc3RlcCA9IHRlc3RfdGhyZWFkX2ZsYWcoVElGX1NJTkdMRVNURVAp OwogCi0JaWYgKCFpc19zeXN0cmFjZSAmJiAhaXNfc3lzZW11KQorCWlmICghdGVzdF90aHJl YWRfZmxhZyhUSUZfU1lTQ0FMTF9UUkFDRSkgJiYgIWlzX3N5c2VtdSkKIAkJcmV0dXJuIDA7 Ci0JLyogV2UgY2FuIGRldGVjdCB0aGUgY2FzZSBvZiBjb21pbmcgZnJvbSBQVFJBQ0VfU1lT RU1VIGFuZCBub3cgcnVubmluZwotCSAqIHdpdGggUFRSQUNFX1NZU0NBTEwgb3IgUFRSQUNF X1NJTkdMRVNURVAsIGJ5IFRJRl9TWVNDQUxMX0VNVSBiZWluZwotCSAqIHNldCBhZGRpdGlv bmFsbHkuCi0JICogSWYgc28gbGV0J3MgcmVzZXQgdGhlIGZsYWcgYW5kIHJldHVybiB3aXRo b3V0IGFjdGlvbi4KLQkgKi8KLQlpZiAoaXNfc3lzZW11ICYmIChpc19zeXN0cmFjZSB8fCBp c19zaW5nbGVzdGVwKSkgewotCQljbGVhcl90aHJlYWRfZmxhZyhUSUZfU1lTQ0FMTF9FTVUp OwotCQlyZXR1cm4gMDsKLQl9CiAJaWYgKCEoY3VycmVudC0+cHRyYWNlICYgUFRfUFRSQUNF RCkpCiAJCXJldHVybiAwOwogCS8qIHRoZSAweDgwIHByb3ZpZGVzIGEgd2F5IGZvciB0aGUg dHJhY2luZyBwYXJlbnQgdG8gZGlzdGluZ3Vpc2gKQEAgLTYzMiw1ICs2MTYsMTAgQEAgaW50 IGRvX3N5c2NhbGxfdHJhY2Uoc3RydWN0IHB0X3JlZ3MgKnJlZwogCQljdXJyZW50LT5leGl0 X2NvZGUgPSAwOwogCX0KIAkvKiAhPSAwIGlmIG51bGxpZnlpbmcgdGhlIHN5c2NhbGwsIDAg aWYgcnVubmluZyBpdCBub3JtYWxseSAqLwotCXJldHVybiBpc19zeXNlbXU7CisJaWYgKCAh aXNfc3lzZW11ICkKKwkJcmV0dXJuIDA7CisKKwlpZiAodW5saWtlbHkoY3VycmVudC0+YXVk aXRfY29udGV4dCkpCisJCWF1ZGl0X3N5c2NhbGxfZXhpdChjdXJyZW50LCByZWdzLT5lYXgp OworCXJldHVybiAxOwogfQoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAHN5c2VtdS1zaW5nbGVzdGVwL3BhdGNoLTIuNi45LXNrYXMtdjctYWRkLVNZ U0VNVV9TSU5HTEVTVEVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAwMTAwNjQ0ADAwMDAwMDAAMDAwMDAwMAAwMDAwMDAwNjA2MQAxMDE3NjE1Njc3NAAwMjE1 NzEAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0 YXIgIAByb290AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHJvb3QAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALS0tIGEvaW5jbHVkZS9saW51 eC9wdHJhY2UuaAkyMDA0LTExLTEwIDE4OjI0OjU5LjEyMDg1MDgwOCArMDEwMAorKysgYi9p bmNsdWRlL2xpbnV4L3B0cmFjZS5oCTIwMDQtMTEtMTAgMTg6MjY6MDguODk0MjQzNjQwICsw MTAwCkBAIC0yMSw2ICsyMSw3IEBACiAKICNkZWZpbmUgUFRSQUNFX1NZU0NBTEwJCSAgMjQK ICNkZWZpbmUgUFRSQUNFX1NZU0VNVQkJICAzMQorI2RlZmluZSBQVFJBQ0VfU1lTRU1VX1NJ TkdMRVNURVAgIDMyCiAKIC8qIDB4NDIwMC0weDQzMDAgYXJlIHJlc2VydmVkIGZvciBhcmNo aXRlY3R1cmUtaW5kZXBlbmRlbnQgYWRkaXRpb25zLiAgKi8KICNkZWZpbmUgUFRSQUNFX1NF VE9QVElPTlMJMHg0MjAwCi0tLSBhL2FyY2gvaTM4Ni9rZXJuZWwvcHRyYWNlLmMJMjAwNC0x MS0xMCAxODoyMDowMi4wNDcwMTI4OTYgKzAxMDAKKysrIGIvYXJjaC9pMzg2L2tlcm5lbC9w dHJhY2UuYwkyMDA0LTExLTEwIDE4OjIzOjIxLjYxMjY3NDMwNCArMDEwMApAQCAtMzYwLDYg KzM2MCw3IEBAIGFzbWxpbmthZ2UgaW50IHN5c19wdHJhY2UobG9uZyByZXF1ZXN0LCAKIAkJ ICBicmVhazsKIAogCWNhc2UgUFRSQUNFX1NZU0VNVTogLyogY29udGludWUgYW5kIHN0b3Ag YXQgbmV4dCBzeXNjYWxsLCB3aGljaCB3aWxsIG5vdCBiZSBleGVjdXRlZCAqLworCWNhc2Ug UFRSQUNFX1NZU0VNVV9TSU5HTEVTVEVQOiAvKiBTYW1lIGFzIFNZU0VNVSwgYnV0IHNpbmds ZXN0ZXAgaWYgbm90IHN5c2NhbGwgKi8KIAljYXNlIFBUUkFDRV9TWVNDQUxMOiAvKiBjb250 aW51ZSBhbmQgc3RvcCBhdCBuZXh0IChyZXR1cm4gZnJvbSkgc3lzY2FsbCAqLwogCWNhc2Ug UFRSQUNFX0NPTlQ6IHsgLyogcmVzdGFydCBhZnRlciBzaWduYWwuICovCiAJCWxvbmcgdG1w OwpAQCAtMzY3LDIyICszNjgsMzEgQEAgYXNtbGlua2FnZSBpbnQgc3lzX3B0cmFjZShsb25n IHJlcXVlc3QsIAogCQlyZXQgPSAtRUlPOwogCQlpZiAoKHVuc2lnbmVkIGxvbmcpIGRhdGEg PiBfTlNJRykKIAkJCWJyZWFrOworCQkvKiBwcmVwYXJlIHRvIHJlc2V0IHNpbmdsZSBzdGVw IGJpdCAqLworCQl0bXAgPSBnZXRfc3RhY2tfbG9uZyhjaGlsZCwgRUZMX09GRlNFVCkgJiB+ VFJBUF9GTEFHOwogCQlpZiAocmVxdWVzdCA9PSBQVFJBQ0VfU1lTRU1VKSB7CiAJCQlzZXRf dHNrX3RocmVhZF9mbGFnKGNoaWxkLCBUSUZfU1lTQ0FMTF9FTVUpOwogCQkJY2xlYXJfdHNr X3RocmVhZF9mbGFnKGNoaWxkLCBUSUZfU1lTQ0FMTF9UUkFDRSk7CisJCQljbGVhcl90c2tf dGhyZWFkX2ZsYWcoY2hpbGQsIFRJRl9TSU5HTEVTVEVQKTsKKwkJfQorCQllbHNlIGlmIChy ZXF1ZXN0ID09IFBUUkFDRV9TWVNFTVVfU0lOR0xFU1RFUCkgeworCQkJc2V0X3Rza190aHJl YWRfZmxhZyhjaGlsZCwgVElGX1NZU0NBTExfRU1VKTsKKwkJCXNldF90c2tfdGhyZWFkX2Zs YWcoY2hpbGQsIFRJRl9TSU5HTEVTVEVQKTsKKwkJCWNsZWFyX3Rza190aHJlYWRfZmxhZyhj aGlsZCwgVElGX1NZU0NBTExfVFJBQ0UpOworCQkJLyogRm9yIFNZU0VNVV9TSU5HTEVTVEVQ LCBzZXQgc2luZ2xlIHN0ZXAgYml0ICovCisJCQl0bXAgfD0gVFJBUF9GTEFHOwogCQl9CiAJ CWVsc2UgaWYgKHJlcXVlc3QgPT0gUFRSQUNFX1NZU0NBTEwpIHsKIAkJCXNldF90c2tfdGhy ZWFkX2ZsYWcoY2hpbGQsIFRJRl9TWVNDQUxMX1RSQUNFKTsKIAkJCWNsZWFyX3Rza190aHJl YWRfZmxhZyhjaGlsZCwgVElGX1NZU0NBTExfRU1VKTsKKwkJCWNsZWFyX3Rza190aHJlYWRf ZmxhZyhjaGlsZCwgVElGX1NJTkdMRVNURVApOwogCQl9CiAJCWVsc2UgewogCQkJY2xlYXJf dHNrX3RocmVhZF9mbGFnKGNoaWxkLCBUSUZfU1lTQ0FMTF9FTVUpOwogCQkJY2xlYXJfdHNr X3RocmVhZF9mbGFnKGNoaWxkLCBUSUZfU1lTQ0FMTF9UUkFDRSk7CisJCQljbGVhcl90c2tf dGhyZWFkX2ZsYWcoY2hpbGQsIFRJRl9TSU5HTEVTVEVQKTsKIAkJfQotCQljbGVhcl90c2tf dGhyZWFkX2ZsYWcoY2hpbGQsIFRJRl9TSU5HTEVTVEVQKTsKIAkJY2hpbGQtPmV4aXRfY29k ZSA9IGRhdGE7Ci0JLyogbWFrZSBzdXJlIHRoZSBzaW5nbGUgc3RlcCBiaXQgaXMgbm90IHNl dC4gKi8KLQkJdG1wID0gZ2V0X3N0YWNrX2xvbmcoY2hpbGQsIEVGTF9PRkZTRVQpICYgflRS QVBfRkxBRzsKIAkJcHV0X3N0YWNrX2xvbmcoY2hpbGQsIEVGTF9PRkZTRVQsdG1wKTsKIAkJ d2FrZV91cF9wcm9jZXNzKGNoaWxkKTsKIAkJcmV0ID0gMDsKQEAgLTU5OSw3ICs2MDksMTMg QEAgaW50IGRvX3N5c2NhbGxfdHJhY2Uoc3RydWN0IHB0X3JlZ3MgKnJlZwogCQkJYXVkaXRf c3lzY2FsbF9leGl0KGN1cnJlbnQsIHJlZ3MtPmVheCk7CiAJfQogCWlzX3N5c2VtdSA9IHRl c3RfdGhyZWFkX2ZsYWcoVElGX1NZU0NBTExfRU1VKTsKLQlpc19zaW5nbGVzdGVwID0gdGVz dF90aHJlYWRfZmxhZyhUSUZfU0lOR0xFU1RFUCk7CisJLyogSWYgYSBwcm9jZXNzIHN0b3Bz IG9uIHRoZSAxc3QgdHJhY2Vwb2ludCB3aXRoIFNZU0NBTExfVFJBQ0UKKyAgICAgICAgICog YW5kIHRoZW4gaXMgcmVzdW1lZCB3aXRoIFNZU0VNVV9TSU5HTEVTVEVQLCBpdCB3aWxsIGNv bWUgaW4KKwkgKiBoZXJlLiBXZSBoYXZlIHRvIGNoZWNrIHRoaXMgYW5kIHJldHVybiAqLwor CWlmIChpc19zeXNlbXUgJiYgZW50cnlleGl0KQorCQlyZXR1cm4gMDsKKwkvKiBXaXRoIFRJ Rl9TWVNDQUxMX0VNVSBzZXQgd2Ugd2FudCB0byBpZ25vcmUgVElGX1NJTkdMRVNURVAgKi8K Kwlpc19zaW5nbGVzdGVwID0gIWlzX3N5c2VtdSAmJiB0ZXN0X3RocmVhZF9mbGFnKFRJRl9T SU5HTEVTVEVQKTsKIAogCWlmICghdGVzdF90aHJlYWRfZmxhZyhUSUZfU1lTQ0FMTF9UUkFD RSkgJiYKIAkgICAgIWlzX3NpbmdsZXN0ZXAgJiYgIWlzX3N5c2VtdSkKQEAgLTYyNCw2ICs2 NDAsNyBAQCBpbnQgZG9fc3lzY2FsbF90cmFjZShzdHJ1Y3QgcHRfcmVncyAqcmVnCiAJaWYg KCAhaXNfc3lzZW11ICkKIAkJcmV0dXJuIDA7CiAKKwlyZWdzLT5vcmlnX2VheCA9IC0xOyAv KiBmb3JjZSBza2lwIG9mIHN5c2NhbGwgcmVzdGFydGluZyAqLwogCWlmICh1bmxpa2VseShj dXJyZW50LT5hdWRpdF9jb250ZXh0KSkKIAkJYXVkaXRfc3lzY2FsbF9leGl0KGN1cnJlbnQs IHJlZ3MtPmVheCk7CiAJcmV0dXJuIDE7CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AABzeXNlbXUtc2luZ2xlc3RlcC9wYXRjaC0yLjYuOS1za2FzLXY3LXJlb3JnYW5pemUAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0 NAAwMDAwMDAwADAwMDAwMDAAMDAwMDAwMDczNDEAMTAxNzYxNTY3NzQAMDIwNDMwACAwAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAcm9v dAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAByb290AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0tLSBhL2FyY2gvaTM4Ni9rZXJuZWwvZW50 cnkuUwkyMDA0LTExLTEwIDE2OjMwOjE2LjAwMDAwMDAwMCArMDEwMAorKysgYi9hcmNoL2kz ODYva2VybmVsL2VudHJ5LlMJMjAwNC0xMS0xMCAxNjo0NDowMy4wMDAwMDAwMDAgKzAxMDAK QEAgLTM0MSwxMiArMzQxLDE4IEBAIHN5c2NhbGxfdHJhY2VfZW50cnk6CiAJeG9ybCAlZWR4 LCVlZHgKIAljYWxsIGRvX3N5c2NhbGxfdHJhY2UKIAljbXBsICQwLCAlZWF4Ci0Jam5lIHN5 c2NhbGxfZXhpdAkJIyByZXQgIT0gMCAtPiBydW5uaW5nIHVuZGVyIFBUUkFDRV9TWVNFTVUs CisJam5lIHN5c2NhbGxfc2tpcAkJIyByZXQgIT0gMCAtPiBydW5uaW5nIHVuZGVyIFBUUkFD RV9TWVNFTVUsCiAJCQkJCSMgc28gbXVzdCBza2lwIGFjdHVhbCBzeXNjYWxsCiAJbW92bCBP UklHX0VBWCglZXNwKSwgJWVheAogCWNtcGwgJChucl9zeXNjYWxscyksICVlYXgKIAlqbmFl IHN5c2NhbGxfY2FsbAogCWptcCBzeXNjYWxsX2V4aXQKK3N5c2NhbGxfc2tpcDoKKwljbGkJ CQkJIyBtYWtlIHN1cmUgd2UgZG9uJ3QgbWlzcyBhbiBpbnRlcnJ1cHQKKwkJCQkJIyBzZXR0 aW5nIG5lZWRfcmVzY2hlZCBvciBzaWdwZW5kaW5nCisJCQkJCSMgYmV0d2VlbiBzYW1wbGlu ZyBhbmQgdGhlIGlyZXQKKwltb3ZsIFRJX2ZsYWdzKCVlYnApLCAlZWN4CisJam1wIHdvcmtf cGVuZGluZwogCiAJIyBwZXJmb3JtIHN5c2NhbGwgZXhpdCB0cmFjaW5nCiAJQUxJR04KLS0t IGEvYXJjaC9pMzg2L2tlcm5lbC9wdHJhY2UuYwkyMDA0LTExLTEwIDE2OjI5OjU2LjAwMDAw MDAwMCArMDEwMAorKysgYi9hcmNoL2kzODYva2VybmVsL3B0cmFjZS5jCTIwMDQtMTEtMTAg MTc6MzA6MTEuMDAwMDAwMDAwICswMTAwCkBAIC0zNjcsMjEgKzM2NywxNiBAQCBhc21saW5r YWdlIGludCBzeXNfcHRyYWNlKGxvbmcgcmVxdWVzdCwgCiAJCXJldCA9IC1FSU87CiAJCWlm ICgodW5zaWduZWQgbG9uZykgZGF0YSA+IF9OU0lHKQogCQkJYnJlYWs7Ci0JCS8qIElmIHdl IGNhbWUgaGVyZSB3aXRoIFBUUkFDRV9TWVNFTVUgYW5kIG5vdyBjb250aW51ZSB3aXRoCi0J CSAqIFBUUkFDRV9TWVNDQUxMLCBlbnRyeS5TIHVzZWQgdG8gaW50ZXJjZXB0IHRoZSBzeXNj YWxsIHJldHVybi4KLQkJICogQnV0IGl0IHNob3VsZG4ndCEKLQkJICogU28gd2UgZG9uJ3Qg Y2xlYXIgVElGX1NZU0NBTExfRU1VLCB3aGljaCBpcyBhbHdheXMgdW51c2VkIGluCi0JCSAq IHRoaXMgc3BlY2lhbCBjYXNlLCB0byByZW1lbWJlciwgd2UgY2FtZSBmcm9tIFNZU0VNVS4g VGhhdAotCQkgKiBmbGFnIHdpbGwgYmUgY2xlYXJlZCBieSBkb19zeXNjYWxsX3RyYWNlKCku Ci0JCSAqLwogCQlpZiAocmVxdWVzdCA9PSBQVFJBQ0VfU1lTRU1VKSB7CiAJCQlzZXRfdHNr X3RocmVhZF9mbGFnKGNoaWxkLCBUSUZfU1lTQ0FMTF9FTVUpOwotCQl9IGVsc2UgaWYgKHJl cXVlc3QgPT0gUFRSQUNFX0NPTlQpIHsKLQkJCWNsZWFyX3Rza190aHJlYWRfZmxhZyhjaGls ZCwgVElGX1NZU0NBTExfRU1VKTsKKwkJCWNsZWFyX3Rza190aHJlYWRfZmxhZyhjaGlsZCwg VElGX1NZU0NBTExfVFJBQ0UpOwogCQl9Ci0JCWlmIChyZXF1ZXN0ID09IFBUUkFDRV9TWVND QUxMKSB7CisJCWVsc2UgaWYgKHJlcXVlc3QgPT0gUFRSQUNFX1NZU0NBTEwpIHsKIAkJCXNl dF90c2tfdGhyZWFkX2ZsYWcoY2hpbGQsIFRJRl9TWVNDQUxMX1RSQUNFKTsKLQkJfSBlbHNl IHsKKwkJCWNsZWFyX3Rza190aHJlYWRfZmxhZyhjaGlsZCwgVElGX1NZU0NBTExfRU1VKTsK KwkJfQorCQllbHNlIHsKKwkJCWNsZWFyX3Rza190aHJlYWRfZmxhZyhjaGlsZCwgVElGX1NZ U0NBTExfRU1VKTsKIAkJCWNsZWFyX3Rza190aHJlYWRfZmxhZyhjaGlsZCwgVElGX1NZU0NB TExfVFJBQ0UpOwogCQl9CiAJCWNsZWFyX3Rza190aHJlYWRfZmxhZyhjaGlsZCwgVElGX1NJ TkdMRVNURVApOwpAQCAtNDIwLDggKzQxNSw3IEBAIGFzbWxpbmthZ2UgaW50IHN5c19wdHJh Y2UobG9uZyByZXF1ZXN0LCAKIAkJcmV0ID0gLUVJTzsKIAkJaWYgKCh1bnNpZ25lZCBsb25n KSBkYXRhID4gX05TSUcpCiAJCQlicmVhazsKLQkJLypTZWUgZG9fc3lzY2FsbF90cmFjZSB0 byBrbm93IHdoeSB3ZSBkb24ndCBjbGVhcgotCQkgKiBUSUZfU1lTQ0FMTF9FTVUuKi8KKwkJ Y2xlYXJfdHNrX3RocmVhZF9mbGFnKGNoaWxkLCBUSUZfU1lTQ0FMTF9FTVUpOwogCQljbGVh cl90c2tfdGhyZWFkX2ZsYWcoY2hpbGQsIFRJRl9TWVNDQUxMX1RSQUNFKTsKIAkJaWYgKChj aGlsZC0+cHRyYWNlICYgUFRfRFRSQUNFKSA9PSAwKSB7CiAJCQkvKiBTcHVyaW91cyBkZWxh eWVkIFRGIHRyYXBzIG1heSBvY2N1ciAqLwpAQCAtNTk1LDcgKzU4OSw3IEBAIG91dDoKIF9f YXR0cmlidXRlX18oKHJlZ3Bhcm0oMykpKQogaW50IGRvX3N5c2NhbGxfdHJhY2Uoc3RydWN0 IHB0X3JlZ3MgKnJlZ3MsIGludCBlbnRyeWV4aXQpCiB7Ci0JaW50IGlzX3N5c2VtdSwgaXNf c3lzdHJhY2UsIGlzX3NpbmdsZXN0ZXA7CisJaW50IGlzX3N5c2VtdSwgaXNfc2luZ2xlc3Rl cDsKIAlpZiAodW5saWtlbHkoY3VycmVudC0+YXVkaXRfY29udGV4dCkpIHsKIAkJaWYgKCFl bnRyeWV4aXQpCiAJCQlhdWRpdF9zeXNjYWxsX2VudHJ5KGN1cnJlbnQsIHJlZ3MtPm9yaWdf ZWF4LApAQCAtNjA1LDIwICs1OTksMTEgQEAgaW50IGRvX3N5c2NhbGxfdHJhY2Uoc3RydWN0 IHB0X3JlZ3MgKnJlZwogCQkJYXVkaXRfc3lzY2FsbF9leGl0KGN1cnJlbnQsIHJlZ3MtPmVh eCk7CiAJfQogCWlzX3N5c2VtdSA9IHRlc3RfdGhyZWFkX2ZsYWcoVElGX1NZU0NBTExfRU1V KTsKLQlpc19zeXN0cmFjZSA9IHRlc3RfdGhyZWFkX2ZsYWcoVElGX1NZU0NBTExfVFJBQ0Up OwogCWlzX3NpbmdsZXN0ZXAgPSB0ZXN0X3RocmVhZF9mbGFnKFRJRl9TSU5HTEVTVEVQKTsK IAotCWlmICghaXNfc3lzdHJhY2UgJiYgIWlzX3NpbmdsZXN0ZXAgJiYgIWlzX3N5c2VtdSkK KwlpZiAoIXRlc3RfdGhyZWFkX2ZsYWcoVElGX1NZU0NBTExfVFJBQ0UpICYmCisJICAgICFp c19zaW5nbGVzdGVwICYmICFpc19zeXNlbXUpCiAJCXJldHVybiAwOwotCS8qIFdlIGNhbiBk ZXRlY3QgdGhlIGNhc2Ugb2YgY29taW5nIGZyb20gUFRSQUNFX1NZU0VNVSBhbmQgbm93IHJ1 bm5pbmcKLQkgKiB3aXRoIFBUUkFDRV9TWVNDQUxMIG9yIFBUUkFDRV9TSU5HTEVTVEVQLCBi eSBUSUZfU1lTQ0FMTF9FTVUgYmVpbmcKLQkgKiBzZXQgYWRkaXRpb25hbGx5LgotCSAqIElm IHNvIGxldCdzIHJlc2V0IHRoZSBmbGFnIGFuZCByZXR1cm4gd2l0aG91dCBhY3Rpb24uCi0J ICovCi0JaWYgKGlzX3N5c2VtdSAmJiAoaXNfc3lzdHJhY2UgfHwgaXNfc2luZ2xlc3RlcCkp IHsKLQkJY2xlYXJfdGhyZWFkX2ZsYWcoVElGX1NZU0NBTExfRU1VKTsKLQkJcmV0dXJuIDA7 Ci0JfQogCWlmICghKGN1cnJlbnQtPnB0cmFjZSAmIFBUX1BUUkFDRUQpKQogCQlyZXR1cm4g MDsKIAkvKiB0aGUgMHg4MCBwcm92aWRlcyBhIHdheSBmb3IgdGhlIHRyYWNpbmcgcGFyZW50 IHRvIGRpc3Rpbmd1aXNoCkBAIC02MzYsNSArNjIxLDEwIEBAIGludCBkb19zeXNjYWxsX3Ry YWNlKHN0cnVjdCBwdF9yZWdzICpyZWcKIAkJY3VycmVudC0+ZXhpdF9jb2RlID0gMDsKIAl9 CiAJLyogIT0gMCBpZiBudWxsaWZ5aW5nIHRoZSBzeXNjYWxsLCAwIGlmIHJ1bm5pbmcgaXQg bm9ybWFsbHkgKi8KLQlyZXR1cm4gaXNfc3lzZW11OworCWlmICggIWlzX3N5c2VtdSApCisJ CXJldHVybiAwOworCisJaWYgKHVubGlrZWx5KGN1cnJlbnQtPmF1ZGl0X2NvbnRleHQpKQor CQlhdWRpdF9zeXNjYWxsX2V4aXQoY3VycmVudCwgcmVncy0+ZWF4KTsKKwlyZXR1cm4gMTsK IH0KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAABzeXNlbXUtc2luZ2xlc3RlcC9wYXRjaC1zeXNhdWRpdC1z aW5nbGVzdGVwLXVtbGhvc3QtMi42LjkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAwMDAwADAwMDAwMDAAMDAwMDAwMDMyNTYAMTAxNzYx NTcyMzMAMDIyNDczACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAHVzdGFyICAAcm9vdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAByb290AAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0tLSBhL2Fy Y2gvaTM4Ni9rZXJuZWwvcHRyYWNlLmMJMjAwNC0xMS0xOSAxNzo0NTo0NC4xODgxNjk4NDgg KzAxMDAKKysrIGIvYXJjaC9pMzg2L2tlcm5lbC9wdHJhY2UuYwkyMDA0LTExLTE5IDE3OjQ2 OjMyLjM5OTAxMzc1MCArMDEwMApAQCAtMTUxLDYgKzE1MSw4IEBAIHZvaWQgcHRyYWNlX2Rp c2FibGUoc3RydWN0IHRhc2tfc3RydWN0ICoKIAljbGVhcl90c2tfdGhyZWFkX2ZsYWcoY2hp bGQsIFRJRl9TSU5HTEVTVEVQKTsKIAl0bXAgPSBnZXRfc3RhY2tfbG9uZyhjaGlsZCwgRUZM X09GRlNFVCkgJiB+VFJBUF9GTEFHOwogCXB1dF9zdGFja19sb25nKGNoaWxkLCBFRkxfT0ZG U0VULCB0bXApOworCWNsZWFyX3Rza190aHJlYWRfZmxhZyhjaGlsZCwgVElGX1NZU0NBTExf VFJBQ0UpOworCWNsZWFyX3Rza190aHJlYWRfZmxhZyhjaGlsZCwgVElGX1NZU0NBTExfRU1V KTsKIH0KIAogLyoKQEAgLTU5OSwyMyArNjAxLDMwIEBAIG91dDoKIF9fYXR0cmlidXRlX18o KHJlZ3Bhcm0oMykpKQogaW50IGRvX3N5c2NhbGxfdHJhY2Uoc3RydWN0IHB0X3JlZ3MgKnJl Z3MsIGludCBlbnRyeWV4aXQpCiB7Ci0JaW50IGlzX3N5c2VtdSwgaXNfc2luZ2xlc3RlcDsK KwlpbnQgaXNfc3lzZW11ID0gdGVzdF90aHJlYWRfZmxhZyhUSUZfU1lTQ0FMTF9FTVUpOwor CS8qIFdpdGggVElGX1NZU0NBTExfRU1VIHNldCB3ZSB3YW50IHRvIGlnbm9yZSBUSUZfU0lO R0xFU1RFUCAqLworCWludCBpc19zaW5nbGVzdGVwID0gIWlzX3N5c2VtdSAmJiB0ZXN0X3Ro cmVhZF9mbGFnKFRJRl9TSU5HTEVTVEVQKTsKKwogCWlmICh1bmxpa2VseShjdXJyZW50LT5h dWRpdF9jb250ZXh0KSkgewotCQlpZiAoIWVudHJ5ZXhpdCkKKwkJaWYgKCFlbnRyeWV4aXQp IHsKIAkJCWF1ZGl0X3N5c2NhbGxfZW50cnkoY3VycmVudCwgcmVncy0+b3JpZ19lYXgsCiAJ CQkJCSAgICByZWdzLT5lYngsIHJlZ3MtPmVjeCwKIAkJCQkJICAgIHJlZ3MtPmVkeCwgcmVn cy0+ZXNpKTsKKwkJCS8qIFdpdGggVElGX1NZU0NBTExfQVVESVQgfCBUSUZfU0lOR0xFU1RF UCB3ZQorCQkJICogY29tZSBpbiBoZXJlLCBidXQgbXVzdCBub3QgY29udGludWUgd2l0aCAK KwkJCSAqIHB0cmFjZV9ub3RpZnkoKQorCQkJICovCisJCQlpZiAoaXNfc2luZ2xlc3RlcCkK KwkJCQlyZXR1cm4gMDsKKwkJfQogCQllbHNlCiAJCQlhdWRpdF9zeXNjYWxsX2V4aXQoY3Vy cmVudCwgcmVncy0+ZWF4KTsKIAl9Ci0JaXNfc3lzZW11ID0gdGVzdF90aHJlYWRfZmxhZyhU SUZfU1lTQ0FMTF9FTVUpOwogCS8qIElmIGEgcHJvY2VzcyBzdG9wcyBvbiB0aGUgMXN0IHRy YWNlcG9pbnQgd2l0aCBTWVNDQUxMX1RSQUNFCiAgICAgICAgICAqIGFuZCB0aGVuIGlzIHJl c3VtZWQgd2l0aCBTWVNFTVVfU0lOR0xFU1RFUCwgaXQgd2lsbCBjb21lIGluCiAJICogaGVy ZS4gV2UgaGF2ZSB0byBjaGVjayB0aGlzIGFuZCByZXR1cm4gKi8KIAlpZiAoaXNfc3lzZW11 ICYmIGVudHJ5ZXhpdCkKIAkJcmV0dXJuIDA7Ci0JLyogV2l0aCBUSUZfU1lTQ0FMTF9FTVUg c2V0IHdlIHdhbnQgdG8gaWdub3JlIFRJRl9TSU5HTEVTVEVQICovCi0JaXNfc2luZ2xlc3Rl cCA9ICFpc19zeXNlbXUgJiYgdGVzdF90aHJlYWRfZmxhZyhUSUZfU0lOR0xFU1RFUCk7CiAK IAlpZiAoIXRlc3RfdGhyZWFkX2ZsYWcoVElGX1NZU0NBTExfVFJBQ0UpICYmCiAJICAgICFp c19zaW5nbGVzdGVwICYmICFpc19zeXNlbXUpCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA --------------080800020708040002000106-- ------------------------------------------------------- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag-&-drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl _______________________________________________ User-mode-linux-devel mailing list User-mode-linux-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel