From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6705 invoked by alias); 9 Dec 2015 23:25:15 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 6690 invoked by uid 89); 9 Dec 2015 23:25:14 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.4 required=5.0 tests=AWL,BAYES_50,SPF_HELO_PASS,T_RP_MATCHES_RCVD,UPPERCASE_50_75 autolearn=no version=3.3.2 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Wed, 09 Dec 2015 23:25:12 +0000 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (Postfix) with ESMTPS id 5985E8EA48 for ; Wed, 9 Dec 2015 23:25:10 +0000 (UTC) Received: from localhost.localdomain (ovpn-113-32.phx2.redhat.com [10.3.113.32]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id tB9NP9O2031484 for ; Wed, 9 Dec 2015 18:25:10 -0500 To: gcc-patches From: Jeff Law Subject: [RFA] [PATCH] [PR tree-optimization/68619] Avoid direct cfg cleanups in tree-ssa-dom.c [3/3] v2 Message-ID: <5668B855.3000103@redhat.com> Date: Wed, 09 Dec 2015 23:25:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------030602000508090708070809" X-IsSubscribed: yes X-SW-Source: 2015-12/txt/msg01074.txt.bz2 This is a multi-part message in MIME format. --------------030602000508090708070809 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-length: 32 Testcases for the DOM changes. --------------030602000508090708070809 Content-Type: text/plain; charset=UTF-8; name="P3" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="P3" Content-length: 25039 Y29tbWl0IGFiZjMyNGJiODI2ZTU5MzAyYWE4YmFhMjI3NjMyMDY1MzY3MjU5 NzQKQXV0aG9yOiBKZWZmIExhdyA8bGF3QHJlZGhhdC5jb20+CkRhdGU6ICAg TW9uIERlYyA3IDIyOjQzOjUzIDIwMTUgLTA3MDAKCiAgICAJUFIgdHJlZS1v cHRpbWl6YXRpb24vNjg2MTkKICAgIAkqIGdjYy5kZy90cmVlLXNzYS9wcjY4 NjE5LTEuYzogTmV3IHRlc3QuCiAgICAJKiBnY2MuZGcvdHJlZS1zc2EvcHI2 ODYxOS0yLmM6IE5ldyB0ZXN0LgogICAgCSogZ2NjLmRnL3RyZWUtc3NhL3By Njg2MTktMy5jOiBOZXcgdGVzdC4KICAgIAkqIGdjYy5kZy90cmVlLXNzYS9w cjY4NjE5LTQuYzogTmV3IHRlc3QuCiAgICAJKiBnY2MuZGcvdHJlZS1zc2Ev cHI2ODYxOS01LmM6IE5ldyB0ZXN0LgoKZGlmZiAtLWdpdCBhL2djYy90ZXN0 c3VpdGUvQ2hhbmdlTG9nIGIvZ2NjL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cKaW5k ZXggNGIxYjFhMy4uMGNiMDllMSAxMDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0 ZS9DaGFuZ2VMb2cKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cKQEAg LTEsMyArMSwxMiBAQAorMjAxNS0xMi0wNSAgSmVmZiBMYXcgIDxsYXdAcmVk aGF0LmNvbT4KKworCVBSIHRyZWUtb3B0aW1pemF0aW9uLzY4NjE5CisJKiBn Y2MuZGcvdHJlZS1zc2EvcHI2ODYxOS0xLmM6IE5ldyB0ZXN0LgorCSogZ2Nj LmRnL3RyZWUtc3NhL3ByNjg2MTktMi5jOiBOZXcgdGVzdC4KKwkqIGdjYy5k Zy90cmVlLXNzYS9wcjY4NjE5LTMuYzogTmV3IHRlc3QuCisJKiBnY2MuZGcv dHJlZS1zc2EvcHI2ODYxOS00LmM6IE5ldyB0ZXN0LgorCSogZ2NjLmRnL3Ry ZWUtc3NhL3ByNjg2MTktNS5jOiBOZXcgdGVzdC4KKwogMjAxNS0xMi0wMiAg SmVmZiBMYXcgIDxsYXdAcmVkaGF0LmNvbT4KIAogCSogZ2NjLmRnL3RyZWUt c3NhL3JlYXNzb2MtNDMuYzogTmV3IHRlc3QuCmRpZmYgLS1naXQgYS9nY2Mv dGVzdHN1aXRlL2djYy5kZy90cmVlLXNzYS9wcjY4NjE5LTEuYyBiL2djYy90 ZXN0c3VpdGUvZ2NjLmRnL3RyZWUtc3NhL3ByNjg2MTktMS5jCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNlOTg4ZGUKLS0tIC9kZXYv bnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy90cmVlLXNzYS9wcjY4 NjE5LTEuYwpAQCAtMCwwICsxLDIwIEBACisvKiB7IGRnLWRvIGNvbXBpbGUg fSAqLworLyogeyBkZy1vcHRpb25zICItTzIgLXciIH0gKi8KKworZXh0ZXJu IHZvaWQgZm4yKGludCk7CitpbnQgYSwgYiwgYzsKK3ZvaWQgZm4xKCkgewor ICBpbnQgZDsKKyAgZm9yICg7IGI7IGIrKykgeworICAgIGEgPSA3OworICAg IGZvciAoOyBhOykgeworICAgIGp1bXA6CisgICAgICBmbjIoZCA/OiBjKTsK KyAgICAgIGQgPSAwOworICAgIH0KKyAgICBkID0gYzsKKyAgICBpZiAoYykK KyAgICAgIGdvdG8ganVtcDsKKyAgfQorICBnb3RvIGp1bXA7Cit9CmRpZmYg LS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy90cmVlLXNzYS9wcjY4NjE5 LTIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3RyZWUtc3NhL3ByNjg2MTkt Mi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjYTcw NmUKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy90 cmVlLXNzYS9wcjY4NjE5LTIuYwpAQCAtMCwwICsxLDkyIEBACisvKiB7IGRn LWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1vcHRpb25zICItTzIgLWZkdW1w LXRyZWUtZG9tMi1kZXRhaWxzIC13IiB9ICovCisKK3R5cGVkZWYgdW5pb24g dHJlZV9ub2RlICp0cmVlOworc3RydWN0IGdjY19vcHRpb25zCit7CisgIGlu dCB4X2ZsYWdfZmluaXRlX21hdGhfb25seTsKK307CitleHRlcm4gc3RydWN0 IGdjY19vcHRpb25zIGdsb2JhbF9vcHRpb25zOworZW51bSBtb2RlX2NsYXNz Cit7IE1PREVfUkFORE9NLCBNT0RFX0NDLCBNT0RFX0lOVCwgTU9ERV9QQVJU SUFMX0lOVCwgTU9ERV9GUkFDVCwgTU9ERV9VRlJBQ1QsCisgIE1PREVfQUND VU0sIE1PREVfVUFDQ1VNLCBNT0RFX0ZMT0FULCBNT0RFX0RFQ0lNQUxfRkxP QVQsIE1PREVfQ09NUExFWF9JTlQsCisgIE1PREVfQ09NUExFWF9GTE9BVCwg TU9ERV9WRUNUT1JfSU5ULCBNT0RFX1ZFQ1RPUl9GUkFDVCwKKyAgTU9ERV9W RUNUT1JfVUZSQUNULCBNT0RFX1ZFQ1RPUl9BQ0NVTSwgTU9ERV9WRUNUT1Jf VUFDQ1VNLAorICBNT0RFX1ZFQ1RPUl9GTE9BVCwgTUFYX01PREVfQ0xBU1MK K307CitleHRlcm4gY29uc3QgdW5zaWduZWQgY2hhciBtb2RlX2NsYXNzWzI3 XTsKK2V4dGVybiBjb25zdCB1bnNpZ25lZCBjaGFyIG1vZGVfaW5uZXJbMjdd Oworc3RydWN0IHJlYWxfdmFsdWUKK3sKK307CitzdHJ1Y3QgcmVhbF9mb3Jt YXQKK3sKKyAgdW5zaWduZWQgY2hhciBoYXNfaW5mOworfTsKK2V4dGVybiBj b25zdCBzdHJ1Y3QgcmVhbF9mb3JtYXQgKnJlYWxfZm9ybWF0X2Zvcl9tb2Rl WzUgLQorCQkJCQkJICAgICAgMiArIDEgKyAxNSAtIDEwICsgMV07CitzdHJ1 Y3QgdHJlZV90eXBlCit7Cit9OwordW5pb24gdHJlZV9ub2RlCit7CisgIGlu dCBjb2RlOworICBpbnQgbW9kZTsKKyAgc3RydWN0IHRyZWVfdHlwZSB0eXBl OworfTsKK3RyZWUKK29tcF9yZWR1Y3Rpb25faW5pdCAodHJlZSBjbGF1c2Us IHRyZWUgdHlwZSkKK3sKKyAgaWYgKCgoKHR5cGUpLT5jb2RlKSA9PSA2NCkp CisgICAgeworICAgICAgc3RydWN0IHJlYWxfdmFsdWUgbWF4OworICAgICAg aWYgKCgoKChtb2RlX2NsYXNzWygoKCh0eXBlKSktPmNvZGUpID09CisJCQkg IDMyID8KKwkJCSAgdmVjdG9yX3R5cGVfbW9kZSAodHlwZSkKKwkJCSAgOiAo dHlwZSktPm1vZGUpXSkgPT0KKwkgICAgIE1PREVfVkVDVE9SX0ZMT0FUKQor CSAgICAmJgorCSAgICAoKHJlYWxfZm9ybWF0X2Zvcl9tb2RlCisJICAgICAg WygobW9kZV9jbGFzc1soKG1vZGVfY2xhc3NbKCgoKHR5cGUpKS0+Y29kZSkg PT0KKwkJCQkJICAzMiA/CisJCQkJCSAgdmVjdG9yX3R5cGVfbW9kZSAodHlw ZSkKKwkJCQkJICA6ICh0eXBlKS0+bW9kZSldKSA9PQorCQkJICAgICAxMikg PyAoKCgoKHR5cGUpKS0+Y29kZSkKKwkJCQkgICAgID09CisJCQkJICAgICAz MiA/CisJCQkJICAgICB2ZWN0b3JfdHlwZV9tb2RlCisJCQkJICAgICAodHlw ZSkKKwkJCQkgICAgIDogKHR5cGUpLT5tb2RlKSkKKwkJCSAgICA6IChtb2Rl X2lubmVyWygoKCh0eXBlKSktPmNvZGUpID09CisJCQkJCSAgIDMyID8KKwkJ CQkJICAgdmVjdG9yX3R5cGVfbW9kZSAodHlwZSkKKwkJCQkJICAgOiAodHlw ZSktPm1vZGUpXSldKSA9PQorCQkxMikKKwkgICAgICAgPyAoKCgoKG1vZGVf Y2xhc3NbKCgoKHR5cGUpKS0+Y29kZSkgPT0KKwkJCQkgIDMyID8gdmVjdG9y X3R5cGVfbW9kZSAodHlwZSkKKwkJCQkgIDogKHR5cGUpLT5tb2RlKV0pID09 CisJCSAgICAgMTIpID8gKCgoKCh0eXBlKSktPmNvZGUpID09CisJCQkgICAg IDMyID8KKwkJCSAgICAgdmVjdG9yX3R5cGVfbW9kZSAodHlwZSkKKwkJCSAg ICAgOiAodHlwZSktPm1vZGUpKSA6IChtb2RlX2lubmVyCisJCQkJCQkgWygo KCh0eXBlKSktPmNvZGUpID09CisJCQkJCQkgICAzMiA/CisJCQkJCQkgICB2 ZWN0b3JfdHlwZV9tb2RlICh0eXBlKQorCQkJCQkJICAgOiAodHlwZSktPm1v ZGUpXSkpIC0gMTApICsKKwkJICAoNSAtIDIgKworCQkgICAxKSkKKwkgICAg ICAgOiAoKCgobW9kZV9jbGFzcworCQkgICAgIFsoKCgodHlwZSkpLT5jb2Rl KSA9PQorCQkgICAgICAgMzIgPyB2ZWN0b3JfdHlwZV9tb2RlICh0eXBlKSA6 ICh0eXBlKS0+bW9kZSldKSA9PQorCQkgICAgMTIpID8gKCgoKCh0eXBlKSkt PmNvZGUpID09CisJCQkgICAgMzIgPyB2ZWN0b3JfdHlwZV9tb2RlICh0eXBl KSA6ICh0eXBlKS0+CisJCQkgICAgbW9kZSkpIDogKG1vZGVfaW5uZXJbKCgo KHR5cGUpKS0+Y29kZSkgPT0KKwkJCQkJCSAgMzIgPyB2ZWN0b3JfdHlwZV9t b2RlICh0eXBlKQorCQkJCQkJICA6ICh0eXBlKS0+bW9kZSldKSkgLQorCQkg IDIpXSkpLT5oYXNfaW5mKSAmJiAhZ2xvYmFsX29wdGlvbnMueF9mbGFnX2Zp bml0ZV9tYXRoX29ubHkpKQorCXJlYWxfaW5mICgmbWF4KTsKKyAgICB9Cit9 CisKKy8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcCAiTWFya2luZyBh bGwgb3V0Z29pbmcgZWRnZXMgb2YgdW5yZWFjaGFibGUiICJkb20yIn0gfSAq LworCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy90cmVlLXNz YS9wcjY4NjE5LTMuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3RyZWUtc3Nh L3ByNjg2MTktMy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLjM1NDg3MjUKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRl L2djYy5kZy90cmVlLXNzYS9wcjY4NjE5LTMuYwpAQCAtMCwwICsxLDI2IEBA CisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1vcHRpb25zICIt TzIgLXciIH0gKi8KK3R5cGVkZWYgdW5zaWduZWQgaW50IGhhc2h2YWxfdDsK K2VudW0gRVRZUEUKK3sKKyAgRVRZUEVfQVJSQVksIEVUWVBFX1NUUlVDVCwg RVRZUEVfVU5JT04sCit9Oworc3RydWN0IGVudHJ5Cit7CisgIGVudW0gRVRZ UEUgZXR5cGU6ODsKKyAgdW5zaWduZWQgc2hvcnQgbGVuOworICBjb25zdCBj aGFyICphdHRyaWI7Cit9OworZV9oYXNoIChjb25zdCB2b2lkICphKQorewor ICBjb25zdCBzdHJ1Y3QgZW50cnkgKmUgPSBhOworICBoYXNodmFsX3QgcmV0 ID0gMDsKKyAgaW50IGk7CisgIGlmIChlWzBdLmV0eXBlICE9IEVUWVBFX1NU UlVDVCAmJiBlWzBdLmV0eXBlICE9IEVUWVBFX1VOSU9OKQorICAgIGFib3J0 ICgpOworICBmb3IgKGkgPSAwOyBpIDw9IGVbMF0ubGVuOyArK2kpCisgICAg eworICAgICAgcmV0ID0gaXRlcmF0aXZlX2hhc2ggKCZlW2ldLCBfX2J1aWx0 aW5fb2Zmc2V0b2YgKHN0cnVjdCBlbnRyeSwgYXR0cmliKSwgcmV0KTsKKyAg ICB9CisgIHJldHVybiByZXQ7Cit9CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1 aXRlL2djYy5kZy90cmVlLXNzYS9wcjY4NjE5LTQuYyBiL2djYy90ZXN0c3Vp dGUvZ2NjLmRnL3RyZWUtc3NhL3ByNjg2MTktNC5jCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhM2NkYjkKLS0tIC9kZXYvbnVsbAor KysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy90cmVlLXNzYS9wcjY4NjE5LTQu YwpAQCAtMCwwICsxLDk0IEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLwor LyogeyBkZy1vcHRpb25zICItTzIgLWZkdW1wLXRyZWUtb3B0aW1pemVkIC13 IiB9ICovCisKK3R5cGVkZWYgc3RydWN0IHJ0eF9kZWYgKnJ0eDsKK2VudW0g cnR4X2NvZGUKK3sKKyAgVU5LTk9XTiwgVkFMVUUsIERFQlVHX0VYUFIsIEVY UFJfTElTVCwgSU5TTl9MSVNULCBTRVFVRU5DRSwgQUREUkVTUywKKyAgREVC VUdfSU5TTiwgSU5TTiwgSlVNUF9JTlNOLCBDQUxMX0lOU04sIEJBUlJJRVIs IENPREVfTEFCRUwsIE5PVEUsCisgIENPTkRfRVhFQywgUEFSQUxMRUwsIEFT TV9JTlBVVCwgQVNNX09QRVJBTkRTLCBVTlNQRUMsIFVOU1BFQ19WT0xBVElM RSwKKyAgQUREUl9WRUMsIEFERFJfRElGRl9WRUMsIFBSRUZFVENILCBTRVQs IFVTRSwgQ0xPQkJFUiwgQ0FMTCwgUkVUVVJOLAorICBFSF9SRVRVUk4sIFRS QVBfSUYsIENPTlNUX0lOVCwgQ09OU1RfRklYRUQsIENPTlNUX0RPVUJMRSwg Q09OU1RfVkVDVE9SLAorICBDT05TVF9TVFJJTkcsIENPTlNULCBQQywgUkVH LCBTQ1JBVENILCBTVUJSRUcsIFNUUklDVF9MT1dfUEFSVCwgQ09OQ0FULAor ICBDT05DQVROLCBNRU0sIExBQkVMX1JFRiwgU1lNQk9MX1JFRiwgQ0MwLCBJ Rl9USEVOX0VMU0UsIENPTVBBUkUsIFBMVVMsCisgIE1JTlVTLCBORUcsIE1V TFQsIFNTX01VTFQsIFVTX01VTFQsIERJViwgU1NfRElWLCBVU19ESVYsIE1P RCwgVURJViwgVU1PRCwKKyAgQU5ELCBJT1IsIFhPUiwgTk9ULCBBU0hJRlQs IFJPVEFURSwgQVNISUZUUlQsIExTSElGVFJULCBST1RBVEVSVCwgU01JTiwK KyAgU01BWCwgVU1JTiwgVU1BWCwgUFJFX0RFQywgUFJFX0lOQywgUE9TVF9E RUMsIFBPU1RfSU5DLCBQUkVfTU9ESUZZLAorICBQT1NUX01PRElGWSwgTkUs IEVRLCBHRSwgR1QsIExFLCBMVCwgR0VVLCBHVFUsIExFVSwgTFRVLCBVTk9S REVSRUQsCisgIE9SREVSRUQsIFVORVEsIFVOR0UsIFVOR1QsIFVOTEUsIFVO TFQsIExUR1QsIFNJR05fRVhURU5ELCBaRVJPX0VYVEVORCwKKyAgVFJVTkNB VEUsIEZMT0FUX0VYVEVORCwgRkxPQVRfVFJVTkNBVEUsIEZMT0FULCBGSVgs IFVOU0lHTkVEX0ZMT0FULAorICBVTlNJR05FRF9GSVgsIEZSQUNUX0NPTlZF UlQsIFVOU0lHTkVEX0ZSQUNUX0NPTlZFUlQsIFNBVF9GUkFDVCwKKyAgVU5T SUdORURfU0FUX0ZSQUNULCBBQlMsIFNRUlQsIEJTV0FQLCBGRlMsIENMWiwg Q1RaLCBQT1BDT1VOVCwgUEFSSVRZLAorICBTSUdOX0VYVFJBQ1QsIFpFUk9f RVhUUkFDVCwgSElHSCwgTE9fU1VNLCBWRUNfTUVSR0UsIFZFQ19TRUxFQ1Qs CisgIFZFQ19DT05DQVQsIFZFQ19EVVBMSUNBVEUsIFNTX1BMVVMsIFVTX1BM VVMsIFNTX01JTlVTLCBTU19ORUcsIFVTX05FRywKKyAgU1NfQUJTLCBTU19B U0hJRlQsIFVTX0FTSElGVCwgVVNfTUlOVVMsIFNTX1RSVU5DQVRFLCBVU19U UlVOQ0FURSwgRk1BLAorICBWQVJfTE9DQVRJT04sIERFQlVHX0lNUExJQ0lU X1BUUiwgRU5UUllfVkFMVUUsIExBU1RfQU5EX1VOVVNFRF9SVFhfQ09ERQor fTsKK2VudW0gcnR4X2NsYXNzCit7CisgIFJUWF9DT01QQVJFLCBSVFhfQ09N TV9DT01QQVJFLCBSVFhfQklOX0FSSVRILCBSVFhfQ09NTV9BUklUSCwgUlRY X1VOQVJZLAorICBSVFhfRVhUUkEsIFJUWF9NQVRDSCwgUlRYX0lOU04sIFJU WF9PQkosIFJUWF9DT05TVF9PQkosIFJUWF9URVJOQVJZLAorICBSVFhfQklU RklFTERfT1BTLCBSVFhfQVVUT0lOQworfTsKK2V4dGVybiBjb25zdCB1bnNp Z25lZCBjaGFyIHJ0eF9sZW5ndGhbKChpbnQpIExBU1RfQU5EX1VOVVNFRF9S VFhfQ09ERSldOworZXh0ZXJuIGNvbnN0IGVudW0gcnR4X2NsYXNzIHJ0eF9j bGFzc1soKGludCkgTEFTVF9BTkRfVU5VU0VEX1JUWF9DT0RFKV07Cit1bmlv biBydHVuaW9uX2RlZgoreworICBydHggcnRfcnR4OworfTsKK3R5cGVkZWYg dW5pb24gcnR1bmlvbl9kZWYgcnR1bmlvbjsKK3N0cnVjdCBydHhfZGVmCit7 CisgIGVudW0gcnR4X2NvZGUgY29kZToxNjsKKyAgdW5pb24gdQorICB7Cisg ICAgcnR1bmlvbiBmbGRbMV07CisgIH0KKyAgdTsKK307CitzdHJ1Y3QgY3Nl X3JlZ19pbmZvCit7CisgIHVuc2lnbmVkIGludCB0aW1lc3RhbXA7CisgIGlu dCByZWdfcXR5OworICBpbnQgcmVnX3RpY2s7CisgIGludCByZWdfaW5fdGFi bGU7CisgIHVuc2lnbmVkIGludCBzdWJyZWdfdGlja2VkOworfTsKK3N0YXRp YyBzdHJ1Y3QgY3NlX3JlZ19pbmZvICpjc2VfcmVnX2luZm9fdGFibGU7Citz dGF0aWMgdW5zaWduZWQgaW50IGNzZV9yZWdfaW5mb190aW1lc3RhbXA7CisK K3N0YXRpYyBfX2lubGluZV9fIHN0cnVjdCBjc2VfcmVnX2luZm8gKgorZ2V0 X2NzZV9yZWdfaW5mbyAodW5zaWduZWQgaW50IHJlZ25vKQoreworICBzdHJ1 Y3QgY3NlX3JlZ19pbmZvICpwID0gJmNzZV9yZWdfaW5mb190YWJsZVtyZWdu b107CisgIGlmIChwLT50aW1lc3RhbXAgIT0gY3NlX3JlZ19pbmZvX3RpbWVz dGFtcCkKKyAgICBjc2VfcmVnX2luZm9fdGFibGVbcmVnbm9dLnRpbWVzdGFt cCA9IGNzZV9yZWdfaW5mb190aW1lc3RhbXA7Cit9CisKK2ludAorbWVudGlv bl9yZWdzIChydHggeCkKK3sKKyAgZW51bSBydHhfY29kZSBjb2RlOworICBp bnQgaSwgajsKKyAgY29uc3QgY2hhciAqZm10OworICBpbnQgY2hhbmdlZCA9 IDA7CisgIGNvZGUgPSAoKHgpLT5jb2RlKTsKKyAgaWYgKGNvZGUgPT0gU1VC UkVHCisgICAgICAmJiAoKCgoKCh4KS0+dS5mbGRbMF0pLnJ0X3J0eCkpLT5j b2RlKSA9PSBSRUcpKQorICAgIHsKKyAgICAgIChnZXRfY3NlX3JlZ19pbmZv IChpKS0+cmVnX2luX3RhYmxlKSA9IChnZXRfY3NlX3JlZ19pbmZvIChpKS0+ cmVnX3RpY2spOworICAgICAgKGdldF9jc2VfcmVnX2luZm8gKGkpLT5zdWJy ZWdfdGlja2VkKSA9CisJKHJoc19yZWdubyAoKCgoeCktPnUuZmxkWzBdKS5y dF9ydHgpKSk7CisgICAgfQorICBpZiAoKCgocnR4X2NsYXNzWyhpbnQpICgo KHgpLT5jb2RlKSldKSAmICh+MSkpID09IChSVFhfQ09NUEFSRSAmICh+MSkp KSkKKyAgICB7CisgICAgICBpZiAoKCgoKCgoeCktPnUuZmxkWzBdKS5ydF9y dHgpKS0+Y29kZSkgPT0gUkVHKSkKKwlmb29wICgpOworICAgIH0KKyAgZm9y IChpID0gKHJ0eF9sZW5ndGhbKGludCkgKGNvZGUpXSkgLSAxOyBpID49IDA7 IGktLSkKKwlhcmYgKCk7Cit9CisKKy8qIE1ha2Ugc3VyZSB0aGUgY29uc3Rh bnQgMzkgZ2V0cyBwcm9wYWdhdGVkIGludG8gdGhlIFBISSBhdCB0aGUgam9p biBwb2ludC4gICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAg IlBISSA8LiosIDM5IiAib3B0aW1pemVkIn0gfSAqLworCmRpZmYgLS1naXQg YS9nY2MvdGVzdHN1aXRlL2djYy5kZy90cmVlLXNzYS9wcjY4NjE5LTUuYyBi L2djYy90ZXN0c3VpdGUvZ2NjLmRnL3RyZWUtc3NhL3ByNjg2MTktNS5jCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlZWUxYjgKLS0t IC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy90cmVlLXNz YS9wcjY4NjE5LTUuYwpAQCAtMCwwICsxLDE3MiBAQAorLyogeyBkZy1kbyBj b21waWxlIH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLU8yIC13IiB9ICovCit0 eXBlZGVmIHVuaW9uIHRyZWVfbm9kZSAqdHJlZTsKK3R5cGVkZWYgdW5pb24g Z2ltcGxlX3N0YXRlbWVudF9kICpnaW1wbGU7CitlbnVtIG1hY2hpbmVfbW9k ZQoreyBWT0lEbW9kZSwgQkxLbW9kZSwgQ0Ntb2RlLCBDQ0dDbW9kZSwgQ0NH T0Ntb2RlLCBDQ05PbW9kZSwgQ0NBbW9kZSwgQ0NDbW9kZSwKKyAgICBDQ09t b2RlLCBDQ1Ntb2RlLCBDQ1ptb2RlLCBDQ0ZQbW9kZSwgQ0NGUFVtb2RlLCBC SW1vZGUsIFFJbW9kZSwgSEltb2RlLAorICAgIFNJbW9kZSwgREltb2RlLCBU SW1vZGUsIE9JbW9kZSwgUVFtb2RlLCBIUW1vZGUsIFNRbW9kZSwgRFFtb2Rl LCBUUW1vZGUsCisgICAgVVFRbW9kZSwgVUhRbW9kZSwgVVNRbW9kZSwgVURR bW9kZSwgVVRRbW9kZSwgSEFtb2RlLCBTQW1vZGUsIERBbW9kZSwKKyAgICBU QW1vZGUsIFVIQW1vZGUsIFVTQW1vZGUsIFVEQW1vZGUsIFVUQW1vZGUsIFNG bW9kZSwgREZtb2RlLCBYRm1vZGUsCisgICAgVEZtb2RlLCBTRG1vZGUsIERE bW9kZSwgVERtb2RlLCBDUUltb2RlLCBDSEltb2RlLCBDU0ltb2RlLCBDRElt b2RlLAorICAgIENUSW1vZGUsIENPSW1vZGUsIFNDbW9kZSwgRENtb2RlLCBY Q21vZGUsIFRDbW9kZSwgVjJRSW1vZGUsIFY0UUltb2RlLAorICAgIFYySElt b2RlLCBWMVNJbW9kZSwgVjhRSW1vZGUsIFY0SEltb2RlLCBWMlNJbW9kZSwg VjFESW1vZGUsIFYxNlFJbW9kZSwKKyAgICBWOEhJbW9kZSwgVjRTSW1vZGUs IFYyREltb2RlLCBWMVRJbW9kZSwgVjMyUUltb2RlLCBWMTZISW1vZGUsIFY4 U0ltb2RlLAorICAgIFY0REltb2RlLCBWMlRJbW9kZSwgVjY0UUltb2RlLCBW MzJISW1vZGUsIFYxNlNJbW9kZSwgVjhESW1vZGUsIFY0VEltb2RlLAorICAg IFYyU0Ztb2RlLCBWNFNGbW9kZSwgVjJERm1vZGUsIFY4U0Ztb2RlLCBWNERG bW9kZSwgVjJURm1vZGUsIFYxNlNGbW9kZSwKKyAgICBWOERGbW9kZSwgVjRU Rm1vZGUsIE1BWF9NQUNISU5FX01PREUsIE1JTl9NT0RFX1JBTkRPTSA9Cisg ICAgVk9JRG1vZGUsIE1BWF9NT0RFX1JBTkRPTSA9IEJMS21vZGUsIE1JTl9N T0RFX0NDID0gQ0Ntb2RlLCBNQVhfTU9ERV9DQyA9CisgICAgQ0NGUFVtb2Rl LCBNSU5fTU9ERV9JTlQgPSBRSW1vZGUsIE1BWF9NT0RFX0lOVCA9CisgICAg T0ltb2RlLCBNSU5fTU9ERV9QQVJUSUFMX0lOVCA9IFZPSURtb2RlLCBNQVhf TU9ERV9QQVJUSUFMX0lOVCA9CisgICAgVk9JRG1vZGUsIE1JTl9NT0RFX0ZS QUNUID0gUVFtb2RlLCBNQVhfTU9ERV9GUkFDVCA9CisgICAgVFFtb2RlLCBN SU5fTU9ERV9VRlJBQ1QgPSBVUVFtb2RlLCBNQVhfTU9ERV9VRlJBQ1QgPQor ICAgIFVUUW1vZGUsIE1JTl9NT0RFX0FDQ1VNID0gSEFtb2RlLCBNQVhfTU9E RV9BQ0NVTSA9CisgICAgVEFtb2RlLCBNSU5fTU9ERV9VQUNDVU0gPSBVSEFt b2RlLCBNQVhfTU9ERV9VQUNDVU0gPQorICAgIFVUQW1vZGUsIE1JTl9NT0RF X0ZMT0FUID0gU0Ztb2RlLCBNQVhfTU9ERV9GTE9BVCA9CisgICAgVEZtb2Rl LCBNSU5fTU9ERV9ERUNJTUFMX0ZMT0FUID0gU0Rtb2RlLCBNQVhfTU9ERV9E RUNJTUFMX0ZMT0FUID0KKyAgICBURG1vZGUsIE1JTl9NT0RFX0NPTVBMRVhf SU5UID0gQ1FJbW9kZSwgTUFYX01PREVfQ09NUExFWF9JTlQgPQorICAgIENP SW1vZGUsIE1JTl9NT0RFX0NPTVBMRVhfRkxPQVQgPSBTQ21vZGUsIE1BWF9N T0RFX0NPTVBMRVhfRkxPQVQgPQorICAgIFRDbW9kZSwgTUlOX01PREVfVkVD VE9SX0lOVCA9IFYyUUltb2RlLCBNQVhfTU9ERV9WRUNUT1JfSU5UID0KKyAg ICBWNFRJbW9kZSwgTUlOX01PREVfVkVDVE9SX0ZSQUNUID0gVk9JRG1vZGUs IE1BWF9NT0RFX1ZFQ1RPUl9GUkFDVCA9CisgICAgVk9JRG1vZGUsIE1JTl9N T0RFX1ZFQ1RPUl9VRlJBQ1QgPSBWT0lEbW9kZSwgTUFYX01PREVfVkVDVE9S X1VGUkFDVCA9CisgICAgVk9JRG1vZGUsIE1JTl9NT0RFX1ZFQ1RPUl9BQ0NV TSA9IFZPSURtb2RlLCBNQVhfTU9ERV9WRUNUT1JfQUNDVU0gPQorICAgIFZP SURtb2RlLCBNSU5fTU9ERV9WRUNUT1JfVUFDQ1VNID0gVk9JRG1vZGUsIE1B WF9NT0RFX1ZFQ1RPUl9VQUNDVU0gPQorICAgIFZPSURtb2RlLCBNSU5fTU9E RV9WRUNUT1JfRkxPQVQgPSBWMlNGbW9kZSwgTUFYX01PREVfVkVDVE9SX0ZM T0FUID0KKyAgICBWNFRGbW9kZSwgTlVNX01BQ0hJTkVfTU9ERVMgPSBNQVhf TUFDSElORV9NT0RFIH07CitlbnVtIG1vZGVfY2xhc3MKK3sgTU9ERV9SQU5E T00sIE1PREVfQ0MsIE1PREVfSU5ULCBNT0RFX1BBUlRJQUxfSU5ULCBNT0RF X0ZSQUNULCBNT0RFX1VGUkFDVCwKKyAgICBNT0RFX0FDQ1VNLCBNT0RFX1VB Q0NVTSwgTU9ERV9GTE9BVCwgTU9ERV9ERUNJTUFMX0ZMT0FULCBNT0RFX0NP TVBMRVhfSU5ULAorICAgIE1PREVfQ09NUExFWF9GTE9BVCwgTU9ERV9WRUNU T1JfSU5ULCBNT0RFX1ZFQ1RPUl9GUkFDVCwKKyAgICBNT0RFX1ZFQ1RPUl9V RlJBQ1QsIE1PREVfVkVDVE9SX0FDQ1VNLCBNT0RFX1ZFQ1RPUl9VQUNDVU0s CisgICAgTU9ERV9WRUNUT1JfRkxPQVQsIE1BWF9NT0RFX0NMQVNTIH07Citl eHRlcm4gY29uc3QgdW5zaWduZWQgY2hhciBtb2RlX2NsYXNzW05VTV9NQUNI SU5FX01PREVTXTsKK2V4dGVybiBjb25zdCB1bnNpZ25lZCBjaGFyIG1vZGVf aW5uZXJbTlVNX01BQ0hJTkVfTU9ERVNdOworc3RydWN0IHJlYWxfZm9ybWF0 Cit7CisgIHVuc2lnbmVkIGNoYXIgaGFzX25hbnM7Cit9OworZXh0ZXJuIGNv bnN0IHN0cnVjdCByZWFsX2Zvcm1hdCAqcmVhbF9mb3JtYXRfZm9yX21vZGVb TUFYX01PREVfRkxPQVQgLQorCQkJCQkJICAgICAgTUlOX01PREVfRkxPQVQg KyAxICsKKwkJCQkJCSAgICAgIE1BWF9NT0RFX0RFQ0lNQUxfRkxPQVQgLQor CQkJCQkJICAgICAgTUlOX01PREVfREVDSU1BTF9GTE9BVCArCisJCQkJCQkg ICAgICAxXTsKK2VudW0gdHJlZV9jb2RlCit7IEVSUk9SX01BUkssIElERU5U SUZJRVJfTk9ERSwgVFJFRV9MSVNULCBUUkVFX1ZFQywgQkxPQ0ssIE9GRlNF VF9UWVBFLAorICAgIEVOVU1FUkFMX1RZUEUsIEJPT0xFQU5fVFlQRSwgSU5U RUdFUl9UWVBFLCBSRUFMX1RZUEUsIFBPSU5URVJfVFlQRSwKKyAgICBSRUZF UkVOQ0VfVFlQRSwgTlVMTFBUUl9UWVBFLCBGSVhFRF9QT0lOVF9UWVBFLCBD T01QTEVYX1RZUEUsIFZFQ1RPUl9UWVBFLAorICAgIEFSUkFZX1RZUEUsIFJF Q09SRF9UWVBFLCBVTklPTl9UWVBFLCBRVUFMX1VOSU9OX1RZUEUsIFZPSURf VFlQRSwKKyAgICBGVU5DVElPTl9UWVBFLCBNRVRIT0RfVFlQRSwgTEFOR19U WVBFLCBJTlRFR0VSX0NTVCwgUkVBTF9DU1QsIEZJWEVEX0NTVCwKKyAgICBD T01QTEVYX0NTVCwgVkVDVE9SX0NTVCwgU1RSSU5HX0NTVCwgRlVOQ1RJT05f REVDTCwgTEFCRUxfREVDTCwKKyAgICBGSUVMRF9ERUNMLCBWQVJfREVDTCwg Q09OU1RfREVDTCwgUEFSTV9ERUNMLCBUWVBFX0RFQ0wsIFJFU1VMVF9ERUNM LAorICAgIERFQlVHX0VYUFJfREVDTCwgTkFNRVNQQUNFX0RFQ0wsIElNUE9S VEVEX0RFQ0wsIFRSQU5TTEFUSU9OX1VOSVRfREVDTCwKKyAgICBDT01QT05F TlRfUkVGLCBCSVRfRklFTERfUkVGLCBSRUFMUEFSVF9FWFBSLCBJTUFHUEFS VF9FWFBSLCBBUlJBWV9SRUYsCisgICAgQVJSQVlfUkFOR0VfUkVGLCBJTkRJ UkVDVF9SRUYsIE9CSl9UWVBFX1JFRiwgQ09OU1RSVUNUT1IsIENPTVBPVU5E X0VYUFIsCisgICAgTU9ESUZZX0VYUFIsIElOSVRfRVhQUiwgVEFSR0VUX0VY UFIsIENPTkRfRVhQUiwgVkVDX0NPTkRfRVhQUiwgQklORF9FWFBSLAorICAg IENBTExfRVhQUiwgV0lUSF9DTEVBTlVQX0VYUFIsIENMRUFOVVBfUE9JTlRf RVhQUiwgUExBQ0VIT0xERVJfRVhQUiwKKyAgICBQTFVTX0VYUFIsIE1JTlVT X0VYUFIsIE1VTFRfRVhQUiwgUE9JTlRFUl9QTFVTX0VYUFIsIFRSVU5DX0RJ Vl9FWFBSLAorICAgIENFSUxfRElWX0VYUFIsIEZMT09SX0RJVl9FWFBSLCBS T1VORF9ESVZfRVhQUiwgVFJVTkNfTU9EX0VYUFIsCisgICAgQ0VJTF9NT0Rf RVhQUiwgRkxPT1JfTU9EX0VYUFIsIFJPVU5EX01PRF9FWFBSLCBSRElWX0VY UFIsIEVYQUNUX0RJVl9FWFBSLAorICAgIEZJWF9UUlVOQ19FWFBSLCBGTE9B VF9FWFBSLCBORUdBVEVfRVhQUiwgTUlOX0VYUFIsIE1BWF9FWFBSLCBBQlNf RVhQUiwKKyAgICBMU0hJRlRfRVhQUiwgUlNISUZUX0VYUFIsIExST1RBVEVf RVhQUiwgUlJPVEFURV9FWFBSLCBCSVRfSU9SX0VYUFIsCisgICAgQklUX1hP Ul9FWFBSLCBCSVRfQU5EX0VYUFIsIEJJVF9OT1RfRVhQUiwgVFJVVEhfQU5E SUZfRVhQUiwKKyAgICBUUlVUSF9PUklGX0VYUFIsIFRSVVRIX0FORF9FWFBS LCBUUlVUSF9PUl9FWFBSLCBUUlVUSF9YT1JfRVhQUiwKKyAgICBUUlVUSF9O T1RfRVhQUiwgTFRfRVhQUiwgTEVfRVhQUiwgR1RfRVhQUiwgR0VfRVhQUiwg RVFfRVhQUiwgTkVfRVhQUiwKKyAgICBVTk9SREVSRURfRVhQUiwgT1JERVJF RF9FWFBSLCBVTkxUX0VYUFIsIFVOTEVfRVhQUiwgVU5HVF9FWFBSLCBVTkdF X0VYUFIsCisgICAgVU5FUV9FWFBSLCBMVEdUX0VYUFIsIFJBTkdFX0VYUFIs IFBBUkVOX0VYUFIsIENPTlZFUlRfRVhQUiwKKyAgICBBRERSX1NQQUNFX0NP TlZFUlRfRVhQUiwgRklYRURfQ09OVkVSVF9FWFBSLCBOT1BfRVhQUiwgTk9O X0xWQUxVRV9FWFBSLAorICAgIFZJRVdfQ09OVkVSVF9FWFBSLCBDT01QT1VO RF9MSVRFUkFMX0VYUFIsIFNBVkVfRVhQUiwgQUREUl9FWFBSLAorICAgIEZE RVNDX0VYUFIsIENPTVBMRVhfRVhQUiwgQ09OSl9FWFBSLCBQUkVERUNSRU1F TlRfRVhQUiwgUFJFSU5DUkVNRU5UX0VYUFIsCisgICAgUE9TVERFQ1JFTUVO VF9FWFBSLCBQT1NUSU5DUkVNRU5UX0VYUFIsIFZBX0FSR19FWFBSLCBUUllf Q0FUQ0hfRVhQUiwKKyAgICBUUllfRklOQUxMWV9FWFBSLCBERUNMX0VYUFIs IExBQkVMX0VYUFIsIEdPVE9fRVhQUiwgUkVUVVJOX0VYUFIsCisgICAgRVhJ VF9FWFBSLCBMT09QX0VYUFIsIFNXSVRDSF9FWFBSLCBDQVNFX0xBQkVMX0VY UFIsIEFTTV9FWFBSLCBTU0FfTkFNRSwKKyAgICBDQVRDSF9FWFBSLCBFSF9G SUxURVJfRVhQUiwgU0NFVl9LTk9XTiwgU0NFVl9OT1RfS05PV04sIFBPTFlO T01JQUxfQ0hSRUMsCisgICAgU1RBVEVNRU5UX0xJU1QsIEFTU0VSVF9FWFBS LCBUUkVFX0JJTkZPLCBXSVRIX1NJWkVfRVhQUiwKKyAgICBSRUFMSUdOX0xP QURfRVhQUiwgVEFSR0VUX01FTV9SRUYsIE1FTV9SRUYsIE9NUF9QQVJBTExF TCwgT01QX1RBU0ssCisgICAgT01QX0ZPUiwgT01QX1NFQ1RJT05TLCBPTVBf U0lOR0xFLCBPTVBfU0VDVElPTiwgT01QX01BU1RFUiwgT01QX09SREVSRUQs CisgICAgT01QX0NSSVRJQ0FMLCBPTVBfQVRPTUlDLCBPTVBfQ0xBVVNFLCBS RURVQ19NQVhfRVhQUiwgUkVEVUNfTUlOX0VYUFIsCisgICAgUkVEVUNfUExV U19FWFBSLCBET1RfUFJPRF9FWFBSLCBXSURFTl9TVU1fRVhQUiwgV0lERU5f TVVMVF9FWFBSLAorICAgIFdJREVOX01VTFRfUExVU19FWFBSLCBXSURFTl9N VUxUX01JTlVTX0VYUFIsIEZNQV9FWFBSLCBWRUNfTFNISUZUX0VYUFIsCisg ICAgVkVDX1JTSElGVF9FWFBSLCBWRUNfV0lERU5fTVVMVF9ISV9FWFBSLCBW RUNfV0lERU5fTVVMVF9MT19FWFBSLAorICAgIFZFQ19VTlBBQ0tfSElfRVhQ UiwgVkVDX1VOUEFDS19MT19FWFBSLCBWRUNfVU5QQUNLX0ZMT0FUX0hJX0VY UFIsCisgICAgVkVDX1VOUEFDS19GTE9BVF9MT19FWFBSLCBWRUNfUEFDS19U UlVOQ19FWFBSLCBWRUNfUEFDS19TQVRfRVhQUiwKKyAgICBWRUNfUEFDS19G SVhfVFJVTkNfRVhQUiwgVkVDX0VYVFJBQ1RfRVZFTl9FWFBSLCBWRUNfRVhU UkFDVF9PRERfRVhQUiwKKyAgICBWRUNfSU5URVJMRUFWRV9ISUdIX0VYUFIs IFZFQ19JTlRFUkxFQVZFX0xPV19FWFBSLCBQUkVESUNUX0VYUFIsCisgICAg T1BUSU1JWkFUSU9OX05PREUsIFRBUkdFVF9PUFRJT05fTk9ERSwgTEFTVF9B TkRfVU5VU0VEX1RSRUVfQ09ERSwKKyAgICBDX01BWUJFX0NPTlNUX0VYUFIs IEVYQ0VTU19QUkVDSVNJT05fRVhQUiwgVU5DT05TVFJBSU5FRF9BUlJBWV9U WVBFLAorICAgIFVOQ09OU1RSQUlORURfQVJSQVlfUkVGLCBOVUxMX0VYUFIs IFBMVVNfTk9NT0RfRVhQUiwgTUlOVVNfTk9NT0RfRVhQUiwKKyAgICBBVFRS X0FERFJfRVhQUiwgU1RNVF9TVE1ULCBMT09QX1NUTVQsIEVYSVRfU1RNVCwg T0ZGU0VUX1JFRiwgUFRSTUVNX0NTVCwKKyAgICBORVdfRVhQUiwgVkVDX05F V19FWFBSLCBERUxFVEVfRVhQUiwgVkVDX0RFTEVURV9FWFBSLCBTQ09QRV9S RUYsCisgICAgTUVNQkVSX1JFRiwgVFlQRV9FWFBSLCBBR0dSX0lOSVRfRVhQ UiwgVkVDX0lOSVRfRVhQUiwgVEhST1dfRVhQUiwKKyAgICBFTVBUWV9DTEFT U19FWFBSLCBCQVNFTElOSywgVEVNUExBVEVfREVDTCwgVEVNUExBVEVfUEFS TV9JTkRFWCwKKyAgICBURU1QTEFURV9URU1QTEFURV9QQVJNLCBURU1QTEFU RV9UWVBFX1BBUk0sIFRZUEVOQU1FX1RZUEUsIFRZUEVPRl9UWVBFLAorICAg IEJPVU5EX1RFTVBMQVRFX1RFTVBMQVRFX1BBUk0sIFVOQk9VTkRfQ0xBU1Nf VEVNUExBVEUsIFVTSU5HX0RFQ0wsCisgICAgVVNJTkdfU1RNVCwgREVGQVVM VF9BUkcsIFRFTVBMQVRFX0lEX0VYUFIsIE9WRVJMT0FELCBQU0VVRE9fRFRP Ul9FWFBSLAorICAgIE1PRE9QX0VYUFIsIENBU1RfRVhQUiwgUkVJTlRFUlBS RVRfQ0FTVF9FWFBSLCBDT05TVF9DQVNUX0VYUFIsCisgICAgU1RBVElDX0NB U1RfRVhQUiwgRFlOQU1JQ19DQVNUX0VYUFIsIERPVFNUQVJfRVhQUiwgVFlQ RUlEX0VYUFIsCisgICAgTk9FWENFUFRfRVhQUiwgTk9OX0RFUEVOREVOVF9F WFBSLCBDVE9SX0lOSVRJQUxJWkVSLCBUUllfQkxPQ0ssCisgICAgRUhfU1BF Q19CTE9DSywgSEFORExFUiwgTVVTVF9OT1RfVEhST1dfRVhQUiwgQ0xFQU5V UF9TVE1ULCBJRl9TVE1ULAorICAgIEZPUl9TVE1ULCBSQU5HRV9GT1JfU1RN VCwgV0hJTEVfU1RNVCwgRE9fU1RNVCwgQlJFQUtfU1RNVCwgQ09OVElOVUVf U1RNVCwKKyAgICBTV0lUQ0hfU1RNVCwgRVhQUl9TVE1ULCBUQUdfREVGTiwg T0ZGU0VUT0ZfRVhQUiwgU0laRU9GX0VYUFIsIEFSUk9XX0VYUFIsCisgICAg QUxJR05PRl9FWFBSLCBBVF9FTkNPREVfRVhQUiwgU1RNVF9FWFBSLCBVTkFS WV9QTFVTX0VYUFIsIFNUQVRJQ19BU1NFUlQsCisgICAgVFlQRV9BUkdVTUVO VF9QQUNLLCBOT05UWVBFX0FSR1VNRU5UX1BBQ0ssIFRZUEVfUEFDS19FWFBB TlNJT04sCisgICAgRVhQUl9QQUNLX0VYUEFOU0lPTiwgQVJHVU1FTlRfUEFD S19TRUxFQ1QsIFRSQUlUX0VYUFIsIExBTUJEQV9FWFBSLAorICAgIERFQ0xU WVBFX1RZUEUsIFRFTVBMQVRFX0lORk8sIFVSU0hJRlRfRVhQUiwgQ09NUEFS RV9FWFBSLCBDT01QQVJFX0xfRVhQUiwKKyAgICBDT01QQVJFX0dfRVhQUiwg Q0xBU1NfSU5URVJGQUNFX1RZUEUsIENMQVNTX0lNUExFTUVOVEFUSU9OX1RZ UEUsCisgICAgQ0FURUdPUllfSU5URVJGQUNFX1RZUEUsIENBVEVHT1JZX0lN UExFTUVOVEFUSU9OX1RZUEUsCisgICAgUFJPVE9DT0xfSU5URVJGQUNFX1RZ UEUsIEtFWVdPUkRfREVDTCwgSU5TVEFOQ0VfTUVUSE9EX0RFQ0wsCisgICAg Q0xBU1NfTUVUSE9EX0RFQ0wsIFBST1BFUlRZX0RFQ0wsIE1FU1NBR0VfU0VO RF9FWFBSLCBDTEFTU19SRUZFUkVOQ0VfRVhQUiwKKyAgICBQUk9QRVJUWV9S RUYsIE1BWF9UUkVFX0NPREVTIH07CitzdHJ1Y3QgdHJlZV9iYXNlCit7Cisg IGVudW0gdHJlZV9jb2RlIGNvZGU6MTY7Cit9Oworc3RydWN0IHRyZWVfdHlw ZWQKK3sKKyAgdHJlZSB0eXBlOworfTsKK3N0cnVjdCB0cmVlX3R5cGUKK3sK KyAgZW51bSBtYWNoaW5lX21vZGUgbW9kZTo4OworfTsKK3VuaW9uIHRyZWVf bm9kZQoreworICBzdHJ1Y3QgdHJlZV9iYXNlIGJhc2U7CisgIHN0cnVjdCB0 cmVlX3R5cGVkIHR5cGVkOworICBzdHJ1Y3QgdHJlZV90eXBlIHR5cGU7Cit9 OworZW51bSB0cmVlX2NvZGUKK3BhcnNlX3ByZWRpY2F0ZSAodHJlZSBjb25k LCB0cmVlICogb3AwLCB0cmVlICogb3AxKQoreworICBnaW1wbGUgczsKKyAg dHJlZSBvcDsKKyAgdHJlZSB0eXBlID0gKCooJm9wLT50eXBlZC50eXBlKSk7 CisgIGVudW0gdHJlZV9jb2RlIGNvZGU7CisgIHJldHVybiBpbnZlcnRfdHJl ZV9jb21wYXJpc29uIChjb2RlLAorCQkJCSAoKCgobW9kZV9jbGFzcworCQkJ CSAgICAgWygoKCh0eXBlKSktPmJhc2UuY29kZSkgPT0KKwkJCQkgICAgICAg VkVDVE9SX1RZUEUgPyB2ZWN0b3JfdHlwZV9tb2RlICh0eXBlKQorCQkJCSAg ICAgICA6ICh0eXBlKS0+dHlwZS5tb2RlKV0pID09CisJCQkJICAgIE1PREVf VkVDVE9SX0ZMT0FUKQorCQkJCSAgICYmCisJCQkJICAgKChyZWFsX2Zvcm1h dF9mb3JfbW9kZQorCQkJCSAgICAgWygoKGVudW0gbW9kZV9jbGFzcykKKwkJ CQkJbW9kZV9jbGFzc1soKChlbnVtIG1vZGVfY2xhc3MpCisJCQkJCQkgICAg IG1vZGVfY2xhc3NbKCgoKHR5cGUpKS0+CisJCQkJCQkJCSAgYmFzZS4KKwkJ CQkJCQkJICBjb2RlKSA9PQorCQkJCQkJCQkgVkVDVE9SX1RZUEUgPworCQkJ CQkJCQkgdmVjdG9yX3R5cGVfbW9kZQorCQkJCQkJCQkgKHR5cGUpCisJCQkJ CQkJCSA6ICh0eXBlKS0+CisJCQkJCQkJCSB0eXBlLgorCQkJCQkJCQkgbW9k ZSldKSA9PQorCQkJCQkJICAgIE1PREVfREVDSU1BTF9GTE9BVCkKKwkJCQkJ CSAgID8gKCgoKCh0eXBlKSktPmJhc2UuCisJCQkJCQkJY29kZSkgPT0KKwkJ CQkJCSAgICAgICBWRUNUT1JfVFlQRSA/CisJCQkJCQkgICAgICAgdmVjdG9y X3R5cGVfbW9kZSAodHlwZSkKKwkJCQkJCSAgICAgICA6ICh0eXBlKS0+dHlw ZS4KKwkJCQkJCSAgICAgICBtb2RlKSkgOiAoKGVudW0KKwkJCQkJCQkJICBt YWNoaW5lX21vZGUpCisJCQkJCQkJCSBtb2RlX2lubmVyWygoKCh0eXBlKSkt PmJhc2UuY29kZSkgPT0gVkVDVE9SX1RZUEUgPyB2ZWN0b3JfdHlwZV9tb2Rl ICh0eXBlKSA6ICh0eXBlKS0+dHlwZS5tb2RlKV0pXSkgPT0gTU9ERV9ERUNJ TUFMX0ZMT0FUKSA/ICgoKCgoKGVudW0gbW9kZV9jbGFzcykgbW9kZV9jbGFz c1soKCgodHlwZSkpLT5iYXNlLmNvZGUpID09IFZFQ1RPUl9UWVBFID8gdmVj dG9yX3R5cGVfbW9kZSAodHlwZSkgOiAodHlwZSktPnR5cGUubW9kZSldKSA9 PSBNT0RFX0RFQ0lNQUxfRkxPQVQpID8gKCgoKCh0eXBlKSktPmJhc2UuY29k ZSkgPT0gVkVDVE9SX1RZUEUgPyB2ZWN0b3JfdHlwZV9tb2RlICh0eXBlKSA6 ICh0eXBlKS0+dHlwZS5tb2RlKSkgOiAoKGVudW0gbWFjaGluZV9tb2RlKSBt b2RlX2lubmVyWygoKCh0eXBlKSktPmJhc2UuY29kZSkgPT0gVkVDVE9SX1RZ UEUgPyB2ZWN0b3JfdHlwZV9tb2RlICh0eXBlKSA6ICh0eXBlKS0+dHlwZS5t b2RlKV0pKSAtIE1JTl9NT0RFX0RFQ0lNQUxfRkxPQVQpICsgKE1BWF9NT0RF X0ZMT0FUIC0gTUlOX01PREVfRkxPQVQgKyAxKSkgOiAoKCgoKGVudW0gbW9k ZV9jbGFzcykgbW9kZV9jbGFzc1soKCgodHlwZSkpLT5iYXNlLmNvZGUpID09 IFZFQ1RPUl9UWVBFID8gdmVjdG9yX3R5cGVfbW9kZSAodHlwZSkgOiAodHlw ZSktPnR5cGUubW9kZSldKSA9PSBNT0RFX0RFQ0lNQUxfRkxPQVQpID8gKCgo KCh0eXBlKSktPmJhc2UuY29kZSkgPT0gVkVDVE9SX1RZUEUgPyB2ZWN0b3Jf dHlwZV9tb2RlICh0eXBlKSA6ICh0eXBlKS0+dHlwZS5tb2RlKSkgOiAoKGVu dW0gbWFjaGluZV9tb2RlKSBtb2RlX2lubmVyWygoKCh0eXBlKSktPmJhc2Uu Y29kZSkgPT0gVkVDVE9SX1RZUEUgPyB2ZWN0b3JfdHlwZV9tb2RlICh0eXBl KSA6ICh0eXBlKS0+dHlwZS5tb2RlKV0pKSAtIE1JTl9NT0RFX0ZMT0FUKV0p KS0+aGFzX25hbnMpICApKTsKK30K --------------030602000508090708070809--