From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15494 invoked by alias); 20 Mar 2008 16:46:14 -0000 Received: (qmail 15456 invoked by uid 22791); 20 Mar 2008 16:46:10 -0000 X-Spam-Check-By: sourceware.org Received: from smtp-out.google.com (HELO smtp-out.google.com) (216.239.33.17) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 20 Mar 2008 16:45:42 +0000 Received: from zps36.corp.google.com (zps36.corp.google.com [172.25.146.36]) by smtp-out.google.com with ESMTP id m2KGjOjv022547 for ; Thu, 20 Mar 2008 16:45:25 GMT Received: from an-out-0708.google.com (andd26.prod.google.com [10.100.30.26]) by zps36.corp.google.com with ESMTP id m2KGjNdB012729 for ; Thu, 20 Mar 2008 09:45:23 -0700 Received: by an-out-0708.google.com with SMTP id d26so304901and.69 for ; Thu, 20 Mar 2008 09:45:22 -0700 (PDT) Received: by 10.100.33.11 with SMTP id g11mr6043126ang.59.1206031522865; Thu, 20 Mar 2008 09:45:22 -0700 (PDT) Received: by 10.100.132.20 with HTTP; Thu, 20 Mar 2008 09:45:22 -0700 (PDT) Message-ID: <38a0d8450803200945v7c5739e7qe5a4d804a2ccafbd@mail.gmail.com> Date: Thu, 20 Mar 2008 17:03:00 -0000 From: "Rafael Espindola" To: "Gcc Patch List" Subject: [patch] [tuples] another partial merge MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_1550_22729271.1206031522852" X-IsSubscribed: yes 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 X-SW-Source: 2008-03/txt/msg01220.txt.bz2 ------=_Part_1550_22729271.1206031522852 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline Content-length: 183 tuples now @133162 Cheers, -- Rafael Avila de Espindola Google Ireland Ltd. Gordon House Barrow Street Dublin 4 Ireland Registered in Dublin, Ireland Registration Number: 368047 ------=_Part_1550_22729271.1206031522852 Content-Type: text/x-patch; name=merge.patch Content-Transfer-Encoding: base64 X-Attachment-Id: f_fe1jv23e0 Content-Disposition: attachment; filename=merge.patch Content-length: 15824 ClByb3BlcnR5IGNoYW5nZXMgb246IC4KX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpOYW1lOiBzdm5tZXJnZS1pbnRlZ3JhdGVkCiAgIC0gL3RydW5rOjEtMTMz MTYxCiAgICsgL3RydW5rOjEtMTMzMTYyCgpJbmRleDogbGliZ29tcC9DaGFu Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gbGliZ29tcC9DaGFu Z2VMb2cJKHJldmlzaW9uIDEzMzM4MikKKysrIGxpYmdvbXAvQ2hhbmdlTG9n CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsOCBAQAorMjAwOC0wMy0xMyAg SmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CisKKwlQUiBtaWRk bGUtZW5kLzM1MTg1CisJKiB0ZXN0c3VpdGUvbGliZ29tcC5jKysvcHIzNTE4 NS5DOiBOZXcgdGVzdC4KKwogMjAwOC0wMy0xMiAgSmFrdWIgSmVsaW5layAg PGpha3ViQHJlZGhhdC5jb20+CiAKIAlQUiBtaWRkbGUtZW5kLzM1NTQ5Cklu ZGV4OiBnY2MvY29uZmlndXJlCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t IGdjYy9jb25maWd1cmUJKHJldmlzaW9uIDEzMzM4MikKKysrIGdjYy9jb25m aWd1cmUJKHdvcmtpbmcgY29weSkKQEAgLTE0OTAsNyArMTQ5MCw3IEBACiAg ICAgICAgICAgICAgICAgICAgICAgICAgIHVzZSBzeXNyb290IGFzIHRoZSBz eXN0ZW0gcm9vdCBkdXJpbmcgdGhlIGJ1aWxkCiAgIC0td2l0aC1zeXNyb290 PURJUiBTZWFyY2ggZm9yIHVzci9saWIsIHVzci9pbmNsdWRlLCBldCBhbCwg d2l0aGluIERJUi4KICAgLS13aXRoLXBrZ3ZlcnNpb249UEtHICAgVXNlIFBL RyBpbiB0aGUgdmVyc2lvbiBzdHJpbmcgaW4gcGxhY2Ugb2YKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgImdpbXBsZS10dXBsZXMtYnJhbmNoIG1lcmdl ZCB3aXRoIHJldi4gMTMzMTYxIgorICAgICAgICAgICAgICAgICAgICAgICAg ICAiZ2ltcGxlLXR1cGxlcy1icmFuY2ggbWVyZ2VkIHdpdGggcmV2LiAxMzMx NjIiCiAgIC0td2l0aC1idWd1cmw9VVJMICAgICAgIERpcmVjdCB1c2VycyB0 byBVUkwgdG8gcmVwb3J0IGEgYnVnCiAgIC0td2l0aC1nbnUtbGQgICAgICAg ICAgIGFzc3VtZSB0aGUgQyBjb21waWxlciB1c2VzIEdOVSBsZCBkZWZhdWx0 PW5vCiAgIC0td2l0aC1saWJpY29udi1wcmVmaXhbPURJUl0gIHNlYXJjaCBm b3IgbGliaWNvbnYgaW4gRElSL2luY2x1ZGUgYW5kIERJUi9saWIKQEAgLTc4 ODcsNyArNzg4Nyw3IEBACiAgICAgICAqKSAgIFBLR1ZFUlNJT049Iigkd2l0 aHZhbCkgIiA7OwogICAgICBlc2FjCiBlbHNlCi0gIFBLR1ZFUlNJT049Iihn aW1wbGUtdHVwbGVzLWJyYW5jaCBtZXJnZWQgd2l0aCByZXYuIDEzMzE2MSkg IgorICBQS0dWRVJTSU9OPSIoZ2ltcGxlLXR1cGxlcy1icmFuY2ggbWVyZ2Vk IHdpdGggcmV2LiAxMzMxNjIpICIKIAogZmkKIApJbmRleDogZ2NjL29tcC1s b3cuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBnY2Mvb21wLWxvdy5j CShyZXZpc2lvbiAxMzMzODIpCisrKyBnY2Mvb21wLWxvdy5jCSh3b3JraW5n IGNvcHkpCkBAIC00OTEwLDE5MSArNDkxMCwxNzcgQEAKICAgcG9wX2dpbXBs aWZ5X2NvbnRleHQgKE5VTExfVFJFRSk7CiB9CiAKKy8qIENhbGxiYWNrIGZv ciBsb3dlcl9vbXBfMS4gIFJldHVybiBub24tTlVMTCBpZiAqdHAgbmVlZHMg dG8gYmUKKyAgIHJlZ2ltcGxpZmllZC4gICovCiAKLS8qIFBhc3MgKlRQIGJh Y2sgdGhyb3VnaCB0aGUgZ2ltcGxpZmllciB3aXRoaW4gdGhlIGNvbnRleHQg ZGV0ZXJtaW5lZCBieSBXSS4KLSAgIFRoaXMgaGFuZGxlcyByZXBsYWNlbWVu dCBvZiBERUNMX1ZBTFVFX0VYUFIsIGFzIHdlbGwgYXMgYWRqdXN0aW5nIHRo ZSAKLSAgIGZsYWdzIG9uIEFERFJfRVhQUi4gICovCi0KLXN0YXRpYyB2b2lk Ci1sb3dlcl9yZWdpbXBsaWZ5ICh0cmVlICp0cCwgc3RydWN0IHdhbGtfc3Rt dF9pbmZvICp3aSkKLXsKLSAgZW51bSBnaW1wbGlmeV9zdGF0dXMgZ3M7Ci0g IGdpbXBsZV9zZXEgcHJlOwotCi0gIGlmICh3aS0+aXNfbGhzKQotICAgIGdz ID0gZ2ltcGxpZnlfZXhwciAodHAsICZwcmUsIE5VTEwsIGlzX2dpbXBsZV9s dmFsdWUsIGZiX2x2YWx1ZSk7Ci0gIGVsc2UgaWYgKHdpLT52YWxfb25seSkK LSAgICBncyA9IGdpbXBsaWZ5X2V4cHIgKHRwLCAmcHJlLCBOVUxMLCBpc19n aW1wbGVfdmFsLCBmYl9ydmFsdWUpOwotICBlbHNlCi0gICAgZ3MgPSBnaW1w bGlmeV9leHByICh0cCwgJnByZSwgTlVMTCwgaXNfZ2ltcGxlX2Zvcm1hbF90 bXBfdmFyLCBmYl9ydmFsdWUpOwotICBnY2NfYXNzZXJ0IChncyA9PSBHU19B TExfRE9ORSk7Ci0KLSAgaWYgKCFnaW1wbGVfc2VxX2VtcHR5X3AgKHByZSkp Ci0gICAgZ2ltcGxlX3NlcV9pbnNlcnRfYmVmb3JlICgmd2ktPmdzaSwgcHJl LCBHU0lfU0FNRV9TVE1UKTsKLX0KLQotLyogQ29weSBFWFAgaW50byBhIHRl bXBvcmFyeS4gIEluc2VydCB0aGUgaW5pdGlhbGl6YXRpb24gc3RhdGVtZW50 Ci0gICBiZWZvcmUgVFNJLiAgKi8KLQogc3RhdGljIHRyZWUKLWluaXRfdG1w X3ZhciAodHJlZSBleHAsIHRyZWVfc3RtdF9pdGVyYXRvciAqdHNpKQorbG93 ZXJfb21wXzIgKHRyZWUgKnRwLCBpbnQgKndhbGtfc3VidHJlZXMsIHZvaWQg KmRhdGEgQVRUUklCVVRFX1VOVVNFRCkKIHsKLSAgdHJlZSB0LCBzdG10Owor ICB0cmVlIHQgPSAqdHA7CiAKLSAgdCA9IGNyZWF0ZV90bXBfdmFyIChUUkVF X1RZUEUgKGV4cCksIE5VTEwpOwotICBERUNMX0dJTVBMRV9SRUdfUCAodCkg PSAxOwotICBzdG10ID0gYnVpbGRfZ2ltcGxlX21vZGlmeV9zdG10ICh0LCBl eHApOwotICBTRVRfRVhQUl9MT0NVUyAoc3RtdCwgRVhQUl9MT0NVUyAodHNp X3N0bXQgKCp0c2kpKSk7Ci0gIHRzaV9saW5rX2JlZm9yZSAodHNpLCBzdG10 LCBUU0lfU0FNRV9TVE1UKTsKKyAgLyogQW55IHZhcmlhYmxlIHdpdGggREVD TF9WQUxVRV9FWFBSIG5lZWRzIHRvIGJlIHJlZ2ltcGxpZmllZC4gICovCisg IGlmIChUUkVFX0NPREUgKHQpID09IFZBUl9ERUNMICYmIERFQ0xfSEFTX1ZB TFVFX0VYUFJfUCAodCkpCisgICAgcmV0dXJuIHQ7CiAKLSAgcmV0dXJuIHQ7 Ci19CisgIC8qIElmIGEgZ2xvYmFsIHZhcmlhYmxlIGhhcyBiZWVuIHByaXZh dGl6ZWQsIFRSRUVfQ09OU1RBTlQgb24KKyAgICAgQUREUl9FWFBSIG1pZ2h0 IGJlIHdyb25nLiAgKi8KKyAgaWYgKFRSRUVfQ09ERSAodCkgPT0gQUREUl9F WFBSKQorICAgIHJlY29tcHV0ZV90cmVlX2ludmFyaWFudF9mb3JfYWRkcl9l eHByICh0KTsKIAotLyogU2ltaWxhcmx5LCBidXQgY29weSBmcm9tIHRoZSB0 ZW1wb3JhcnkgYW5kIGluc2VydCB0aGUgc3RhdGVtZW50Ci0gICBhZnRlciB0 aGUgaXRlcmF0b3IuICAqLwotCi1zdGF0aWMgdHJlZQotc2F2ZV90bXBfdmFy ICh0cmVlIGV4cCwgdHJlZV9zdG10X2l0ZXJhdG9yICp0c2kpCi17Ci0gIHRy ZWUgdCwgc3RtdDsKLQotICB0ID0gY3JlYXRlX3RtcF92YXIgKFRSRUVfVFlQ RSAoZXhwKSwgTlVMTCk7Ci0gIERFQ0xfR0lNUExFX1JFR19QICh0KSA9IDE7 Ci0gIHN0bXQgPSBidWlsZF9naW1wbGVfbW9kaWZ5X3N0bXQgKGV4cCwgdCk7 Ci0gIFNFVF9FWFBSX0xPQ1VTIChzdG10LCBFWFBSX0xPQ1VTICh0c2lfc3Rt dCAoKnRzaSkpKTsKLSAgdHNpX2xpbmtfYWZ0ZXIgKHRzaSwgc3RtdCwgVFNJ X1NBTUVfU1RNVCk7Ci0KLSAgcmV0dXJuIHQ7CisgICp3YWxrX3N1YnRyZWVz ID0gIVRZUEVfUCAodCkgJiYgIURFQ0xfUCAodCk7CisgIHJldHVybiBOVUxM X1RSRUU7CiB9CiAKLS8qIENhbGxiYWNrIGZvciB3YWxrX3N0bXRzLiAgTG93 ZXIgdGhlIE9wZW5NUCBkaXJlY3RpdmUgcG9pbnRlZCBieSBUUC4gICovCi0K LXN0YXRpYyB0cmVlCi1sb3dlcl9vbXBfMSAodHJlZSAqdHAsIGludCAqd2Fs a19zdWJ0cmVlcywgdm9pZCAqZGF0YSkKK3N0YXRpYyB2b2lkCitsb3dlcl9v bXBfMSAodHJlZSAqdHAsIG9tcF9jb250ZXh0ICpjdHgsIHRyZWVfc3RtdF9p dGVyYXRvciAqdHNpKQogewotICAvKiBGSVhNRSB0dXBsZXMuICBUaGlzIHJv dXRpbmUgbmVlZHMgdG8gYmUgc3BsaXQgdXAgaW50byB0d28uICBPbmUKLSAg ICAgZGVhbGluZyB3aXRoIHN0YXRlbWVudHMsIHRvIGJlIHVzZWQgYXMgYSBD QUxMQkFDS19TVE1UIGFuZCB0aGUKLSAgICAgb3RoZXIgZGVhbGluZyB3aXRo IG9wZXJhbmRzLCB0byBiZSB1c2VkIGFzIGEgQ0FMTEJBQ0tfT1AuICBTaW5j ZQotICAgICBzdGF0ZW1lbnRzIGFuZCBvcGVyYW5kcyBhcmUgbm93IG9mIGRp ZmZlcmVudCB0eXBlcywgd2UgbmVlZCB0aGUKLSAgICAgdHdvIGRpZmZlcmVu dCBjYWxsYmFja3MuICAqLwotICBzdHJ1Y3Qgd2Fsa19zdG10X2luZm8gKndp ID0gZGF0YTsKLSAgb21wX2NvbnRleHQgKmN0eCA9IHdpLT5pbmZvOwogICB0 cmVlIHQgPSAqdHA7CiAKKyAgaWYgKCF0KQorICAgIHJldHVybjsKKworICBp ZiAoRVhQUl9IQVNfTE9DQVRJT04gKHQpKQorICAgIGlucHV0X2xvY2F0aW9u ID0gRVhQUl9MT0NBVElPTiAodCk7CisKICAgLyogSWYgd2UgaGF2ZSBpc3N1 ZWQgc3ludGF4IGVycm9ycywgYXZvaWQgZG9pbmcgYW55IGhlYXZ5IGxpZnRp bmcuCiAgICAgIEp1c3QgcmVwbGFjZSB0aGUgT3Blbk1QIGRpcmVjdGl2ZXMg d2l0aCBhIE5PUCB0byBhdm9pZAogICAgICBjb25mdXNpbmcgUlRMIGV4cGFu c2lvbi4gICovCi0gIGlmIChlcnJvcmNvdW50ICYmIE9NUF9ESVJFQ1RJVkVf UCAoKnRwKSkKKyAgaWYgKGVycm9yY291bnQgJiYgT01QX0RJUkVDVElWRV9Q ICh0KSkKICAgICB7CiAgICAgICAqdHAgPSBidWlsZF9lbXB0eV9zdG10ICgp OwotICAgICAgcmV0dXJuIE5VTExfVFJFRTsKKyAgICAgIHJldHVybjsKICAg ICB9CiAKLSAgKndhbGtfc3VidHJlZXMgPSAwOwotICBzd2l0Y2ggKFRSRUVf Q09ERSAoKnRwKSkKKyAgc3dpdGNoIChUUkVFX0NPREUgKHQpKQogICAgIHsK KyAgICBjYXNlIFNUQVRFTUVOVF9MSVNUOgorICAgICAgeworCXRyZWVfc3Rt dF9pdGVyYXRvciBpOworCWZvciAoaSA9IHRzaV9zdGFydCAodCk7ICF0c2lf ZW5kX3AgKGkpOyB0c2lfbmV4dCAoJmkpKQorCSAgbG93ZXJfb21wXzEgKHRz aV9zdG10X3B0ciAoaSksIGN0eCwgJmkpOworICAgICAgfQorICAgICAgYnJl YWs7CisKKyAgICBjYXNlIENPTkRfRVhQUjoKKyAgICAgIGxvd2VyX29tcF8x ICgmQ09ORF9FWFBSX1RIRU4gKHQpLCBjdHgsIE5VTEwpOworICAgICAgbG93 ZXJfb21wXzEgKCZDT05EX0VYUFJfRUxTRSAodCksIGN0eCwgTlVMTCk7Cisg ICAgICBpZiAoY3R4CisJICAmJiB3YWxrX3RyZWUgKCZDT05EX0VYUFJfQ09O RCAodCksIGxvd2VyX29tcF8yLCBjdHgsIE5VTEwpKQorCXsKKwkgIHRyZWUg cHJlID0gTlVMTDsKKwkgIGdpbXBsaWZ5X2V4cHIgKCZDT05EX0VYUFJfQ09O RCAodCksICZwcmUsIE5VTEwsCisJCQkgaXNfZ2ltcGxlX2NvbmRleHByLCBm Yl9ydmFsdWUpOworCSAgaWYgKHByZSkKKwkgICAgeworCSAgICAgIGlmICh0 c2kpCisJCXRzaV9saW5rX2JlZm9yZSAodHNpLCBwcmUsIFRTSV9TQU1FX1NU TVQpOworCSAgICAgIGVsc2UKKwkJeworCQkgIGFwcGVuZF90b19zdGF0ZW1l bnRfbGlzdCAodCwgJnByZSk7CisJCSAgKnRwID0gcHJlOworCQl9CisJICAg IH0KKwl9CisgICAgICBicmVhazsKKyAgICBjYXNlIENBVENIX0VYUFI6Cisg ICAgICBsb3dlcl9vbXBfMSAoJkNBVENIX0JPRFkgKHQpLCBjdHgsIE5VTEwp OworICAgICAgYnJlYWs7CisgICAgY2FzZSBFSF9GSUxURVJfRVhQUjoKKyAg ICAgIGxvd2VyX29tcF8xICgmRUhfRklMVEVSX0ZBSUxVUkUgKHQpLCBjdHgs IE5VTEwpOworICAgICAgYnJlYWs7CisgICAgY2FzZSBUUllfQ0FUQ0hfRVhQ UjoKKyAgICBjYXNlIFRSWV9GSU5BTExZX0VYUFI6CisgICAgICBsb3dlcl9v bXBfMSAoJlRSRUVfT1BFUkFORCAodCwgMCksIGN0eCwgTlVMTCk7CisgICAg ICBsb3dlcl9vbXBfMSAoJlRSRUVfT1BFUkFORCAodCwgMSksIGN0eCwgTlVM TCk7CisgICAgICBicmVhazsKKyAgICBjYXNlIEJJTkRfRVhQUjoKKyAgICAg IGxvd2VyX29tcF8xICgmQklORF9FWFBSX0JPRFkgKHQpLCBjdHgsIE5VTEwp OworICAgICAgYnJlYWs7CisgICAgY2FzZSBSRVRVUk5fRVhQUjoKKyAgICAg IGxvd2VyX29tcF8xICgmVFJFRV9PUEVSQU5EICh0LCAwKSwgY3R4LCBOVUxM KTsKKyAgICAgIGJyZWFrOworCiAgICAgY2FzZSBPTVBfUEFSQUxMRUw6CiAg ICAgICBjdHggPSBtYXliZV9sb29rdXBfY3R4ICh0KTsKICAgICAgIGxvd2Vy X29tcF9wYXJhbGxlbCAodHAsIGN0eCk7CiAgICAgICBicmVhazsKLQogICAg IGNhc2UgT01QX0ZPUjoKICAgICAgIGN0eCA9IG1heWJlX2xvb2t1cF9jdHgg KHQpOwogICAgICAgZ2NjX2Fzc2VydCAoY3R4KTsKICAgICAgIGxvd2VyX29t cF9mb3IgKHRwLCBjdHgpOwogICAgICAgYnJlYWs7Ci0KICAgICBjYXNlIE9N UF9TRUNUSU9OUzoKICAgICAgIGN0eCA9IG1heWJlX2xvb2t1cF9jdHggKHQp OwogICAgICAgZ2NjX2Fzc2VydCAoY3R4KTsKICAgICAgIGxvd2VyX29tcF9z ZWN0aW9ucyAodHAsIGN0eCk7CiAgICAgICBicmVhazsKLQogICAgIGNhc2Ug T01QX1NJTkdMRToKICAgICAgIGN0eCA9IG1heWJlX2xvb2t1cF9jdHggKHQp OwogICAgICAgZ2NjX2Fzc2VydCAoY3R4KTsKICAgICAgIGxvd2VyX29tcF9z aW5nbGUgKHRwLCBjdHgpOwogICAgICAgYnJlYWs7Ci0KICAgICBjYXNlIE9N UF9NQVNURVI6CiAgICAgICBjdHggPSBtYXliZV9sb29rdXBfY3R4ICh0KTsK ICAgICAgIGdjY19hc3NlcnQgKGN0eCk7CiAgICAgICBsb3dlcl9vbXBfbWFz dGVyICh0cCwgY3R4KTsKICAgICAgIGJyZWFrOwotCiAgICAgY2FzZSBPTVBf T1JERVJFRDoKICAgICAgIGN0eCA9IG1heWJlX2xvb2t1cF9jdHggKHQpOwog ICAgICAgZ2NjX2Fzc2VydCAoY3R4KTsKICAgICAgIGxvd2VyX29tcF9vcmRl cmVkICh0cCwgY3R4KTsKICAgICAgIGJyZWFrOwotCiAgICAgY2FzZSBPTVBf Q1JJVElDQUw6CiAgICAgICBjdHggPSBtYXliZV9sb29rdXBfY3R4ICh0KTsK ICAgICAgIGdjY19hc3NlcnQgKGN0eCk7CiAgICAgICBsb3dlcl9vbXBfY3Jp dGljYWwgKHRwLCBjdHgpOwogICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIFZB Ul9ERUNMOgotICAgICAgaWYgKGN0eCAmJiBERUNMX0hBU19WQUxVRV9FWFBS X1AgKHQpKQorICAgIGRlZmF1bHQ6CisgICAgICBpZiAoY3R4ICYmIHdhbGtf dHJlZSAodHAsIGxvd2VyX29tcF8yLCBjdHgsIE5VTEwpKQogCXsKLQkgIGxv d2VyX3JlZ2ltcGxpZnkgKCZ0LCB3aSk7Ci0JICBpZiAod2ktPnZhbF9vbmx5 KQorCSAgLyogVGhlIGdpbXBsaWZpZXIgZG9lc24ndCBnaW1wbGlmeSBDQUxM X0VYUFJfU1RBVElDX0NIQUlOLgorCSAgICAgSGFuZGxlIHRoYXQgaGVyZS4g ICovCisJICB0cmVlIGNhbGwgPSBnZXRfY2FsbF9leHByX2luICh0KTsKKwkg IGlmIChjYWxsCisJICAgICAgJiYgQ0FMTF9FWFBSX1NUQVRJQ19DSEFJTiAo Y2FsbCkKKwkgICAgICAmJiB3YWxrX3RyZWUgKCZDQUxMX0VYUFJfU1RBVElD X0NIQUlOIChjYWxsKSwgbG93ZXJfb21wXzIsCisJCQkgICAgY3R4LCBOVUxM KSkKIAkgICAgewotCSAgICAgIGlmICh3aS0+aXNfbGhzKQotCQl0ID0gc2F2 ZV90bXBfdmFyICh0LCAmd2ktPnRzaSk7Ci0JICAgICAgZWxzZQotCQl0ID0g aW5pdF90bXBfdmFyICh0LCAmd2ktPnRzaSk7CisJICAgICAgdHJlZSBwcmUg PSBOVUxMOworCSAgICAgIGdpbXBsaWZ5X2V4cHIgKCZDQUxMX0VYUFJfU1RB VElDX0NIQUlOIChjYWxsKSwgJnByZSwgTlVMTCwKKwkJCSAgICAgaXNfZ2lt cGxlX3ZhbCwgZmJfcnZhbHVlKTsKKwkgICAgICBpZiAocHJlKQorCQl7CisJ CSAgaWYgKHRzaSkKKwkJICAgIHRzaV9saW5rX2JlZm9yZSAodHNpLCBwcmUs IFRTSV9TQU1FX1NUTVQpOworCQkgIGVsc2UKKwkJICAgIHsKKwkJICAgICAg YXBwZW5kX3RvX3N0YXRlbWVudF9saXN0ICh0LCAmcHJlKTsKKwkJICAgICAg bG93ZXJfb21wXzEgKCZwcmUsIGN0eCwgTlVMTCk7CisJCSAgICAgICp0cCA9 IHByZTsKKwkJICAgICAgcmV0dXJuOworCQkgICAgfQorCQl9CiAJICAgIH0K LQkgICp0cCA9IHQ7Ci0JfQotICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIEFE RFJfRVhQUjoKLSAgICAgIGlmIChjdHgpCi0JbG93ZXJfcmVnaW1wbGlmeSAo dHAsIHdpKTsKLSAgICAgIGJyZWFrOwotCi0gICAgY2FzZSBBUlJBWV9SRUY6 Ci0gICAgY2FzZSBBUlJBWV9SQU5HRV9SRUY6Ci0gICAgY2FzZSBSRUFMUEFS VF9FWFBSOgotICAgIGNhc2UgSU1BR1BBUlRfRVhQUjoKLSAgICBjYXNlIENP TVBPTkVOVF9SRUY6Ci0gICAgY2FzZSBWSUVXX0NPTlZFUlRfRVhQUjoKLSAg ICAgIGlmIChjdHgpCi0JbG93ZXJfcmVnaW1wbGlmeSAodHAsIHdpKTsKLSAg ICAgIGJyZWFrOwotCi0gICAgY2FzZSBJTkRJUkVDVF9SRUY6Ci0gICAgICBp ZiAoY3R4KQotCXsKLQkgIHdpLT5pc19saHMgPSBmYWxzZTsKLQkgIHdpLT52 YWxfb25seSA9IHRydWU7Ci0JICBsb3dlcl9yZWdpbXBsaWZ5ICgmVFJFRV9P UEVSQU5EICh0LCAwKSwgd2kpOworCSAgaWYgKHRzaSA9PSBOVUxMKQorCSAg ICBnaW1wbGlmeV9zdG10ICh0cCk7CisJICBlbHNlCisJICAgIHsKKwkgICAg ICB0cmVlIHByZSA9IE5VTEw7CisJICAgICAgZ2ltcGxpZnlfZXhwciAodHAs ICZwcmUsIE5VTEwsIGlzX2dpbXBsZV9zdG10LCBmYl9ub25lKTsKKwkgICAg ICBpZiAocHJlKQorCQl0c2lfbGlua19iZWZvcmUgKHRzaSwgcHJlLCBUU0lf U0FNRV9TVE1UKTsKKwkgICAgfQogCX0KICAgICAgIGJyZWFrOwotCi0gICAg ZGVmYXVsdDoKLSAgICAgIGlmICghVFlQRV9QICh0KSAmJiAhREVDTF9QICh0 KSkKLQkqd2Fsa19zdWJ0cmVlcyA9IDE7Ci0gICAgICBicmVhazsKICAgICB9 Ci0KLSAgcmV0dXJuIE5VTExfVFJFRTsKIH0KIAogc3RhdGljIHZvaWQKIGxv d2VyX29tcCAodHJlZSAqc3RtdF9wLCBvbXBfY29udGV4dCAqY3R4KQogewot ICAvKiBGSVhNRSB0dXBsZXMuICBUaGlzIG5lZWRzIHRvIHVzZSB0aGUgbmV3 IHdhbGtfZ2ltcGxlX3NlcSByb3V0aW5lLiAgKi8KLSAgc3RydWN0IHdhbGtf c3RtdF9pbmZvIHdpOwotCi0gIG1lbXNldCAoJndpLCAwLCBzaXplb2YgKHdp KSk7Ci0gIHdpLmNhbGxiYWNrID0gbG93ZXJfb21wXzE7Ci0gIHdpLmluZm8g PSBjdHg7Ci0gIHdpLnZhbF9vbmx5ID0gdHJ1ZTsKLSAgd2kud2FudF9sb2Nh dGlvbnMgPSB0cnVlOwotCi0gIHdhbGtfc3RtdHMgKCZ3aSwgc3RtdF9wKTsK KyAgbG93ZXJfb21wXzEgKHN0bXRfcCwgY3R4LCBOVUxMKTsKIH0KICNlbmRp ZgogDApJbmRleDogZ2NjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLSBnY2MvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMzMzODIpCisrKyBn Y2MvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTAgQEAK KzIwMDgtMDMtMTMgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29t PgorCisJUFIgbWlkZGxlLWVuZC8zNTE4NQorCSogb21wLWxvdy5jIChsb3dl cl9yZWdpbXBsaWZ5LCBpbml0X3RtcF92YXIsIHNhdmVfdG1wX3Zhcik6IFJl bW92ZWQuCisJKGxvd2VyX29tcF8yKTogTmV3IGZ1bmN0aW9uLgorCShsb3dl cl9vbXBfMSwgbG93ZXJfb21wKTogUmV3cml0dGVuLgorCiAyMDA4LTAzLTEz ICBEYW5ueSBTbWl0aCAgPGRhbm55c21pdGhAdXNlcnMuc291cmNlZm9yZ2Uu bmV0PgogCiAJUFIgMzUwNTQKQEAgLTIyLDcgKzI5LDYgQEAKIAogMjAwOC0w My0xMiAgUGF1bCBCcm9vayAgPHBhdWxAY29kZXNvdXJjZXJ5LmNvbT4KIAot CWdjYy8KIAkqIGNvbmZpZy9hcm0vYXJtLmMgKGFybV9zaXplX3J0eF9jb3N0 cyk6IFVzZSBBUk0gY29zdHMgZm9yIFRodW1iLTIuCiAKIDIwMDgtMDMtMTIg IFVyb3MgQml6amFrICA8dWJpempha0BnbWFpbC5jb20+CkBAIC01NSw3ICs2 MSw3IEBACiAJQWRqdXN0IHN0YWNrIHBvaW50ZXIgYnkgcG9waW5nIGNhbGwg Y2xvYmVyZWQgcmVnaXN0ZXJzLgogCShhcm1fZXhwYW5kX3Byb2xvZ3VlKTog VXNlIG9mZnNldHMtPnNhdmVkX3JlZ3NfbWFzay4KIAlBZGp1c3Qgc3RhY2sg cG9pbnRlciBieSBwdXNoaW5nIGV4dHJhIHJlZ2lzdGVycy4KLQkqIGdjYy9j b25maWcvYXJtLmggKGFybV9zdGFja19vZmZzZXRzKTogQWRkIHNhdmVkX3Jl Z3NfbWFzay4KKwkqIGNvbmZpZy9hcm0uaCAoYXJtX3N0YWNrX29mZnNldHMp OiBBZGQgc2F2ZWRfcmVnc19tYXNrLgogCiAyMDA4LTAzLTEyICBQYW9sbyBC b256aW5pICA8Ym9uemluaUBnbnUub3JnPgogCkBAIC0zOTc0LDcgKzM5ODAs NyBAQAogMjAwOC0wMS0wMiAgQXJ0aHVyIE5vcm1hbiA8YWNuMUBjYW0uYWMu dWs+CiAKIAlQUiB0YXJnZXQvMzQwMTMKLQkqIGdjYy9jb25maWcvaTM4Ni9p Mzg2LmMgKGl4ODZfZXhwYW5kX3Byb2xvZ3VlKTogU2F2ZSByZWQtem9uZQor CSogY29uZmlnL2kzODYvaTM4Ni5jIChpeDg2X2V4cGFuZF9wcm9sb2d1ZSk6 IFNhdmUgcmVkLXpvbmUKIAl3aGlsZSBzdGFjayBwcm9iaW5nLgogCiAyMDA4 LTAxLTAxICBEb3VnbGFzIEdyZWdvciAgPGRvdWcuZ3JlZ29yQGdtYWlsLmNv bT4KSW5kZXg6IGdjYy9DaGFuZ2VMb2cudHVwbGVzCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tIGdjYy9DaGFuZ2VMb2cudHVwbGVzCShyZXZpc2lvbiAx MzMzODIpCisrKyBnY2MvQ2hhbmdlTG9nLnR1cGxlcwkod29ya2luZyBjb3B5 KQpAQCAtMSw1ICsxLDEyIEBACiAyMDA4LTAzLTIwICBSYWZhZWwgRXNwaW5k b2xhIDxlc3BpbmRvbGFAZ29vZ2xlLmNvbT4KIAorCU1lcmdlIHdpdGggbWFp bmxpbmUgQDEzMzE2Mi4KKworCSogY29uZmlndXJlLmFjIChBQ1hfUEtHVkVS U0lPTik6IFVwZGF0ZSByZXZpc2lvbiBtZXJnZSBzdHJpbmcuCisJKiBjb25m aWd1cmU6IFJlZ2VuZXJhdGUuCisKKzIwMDgtMDMtMjAgIFJhZmFlbCBFc3Bp bmRvbGEgPGVzcGluZG9sYUBnb29nbGUuY29tPgorCiAJTWVyZ2Ugd2l0aCBt YWlubGluZSBAMTMzMTYxLgogCiAJKiBjb25maWd1cmUuYWMgKEFDWF9QS0dW RVJTSU9OKTogVXBkYXRlIHJldmlzaW9uIG1lcmdlIHN0cmluZy4KSW5kZXg6 IGdjYy9jb25maWd1cmUuYWMKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g Z2NjL2NvbmZpZ3VyZS5hYwkocmV2aXNpb24gMTMzMzgyKQorKysgZ2NjL2Nv bmZpZ3VyZS5hYwkod29ya2luZyBjb3B5KQpAQCAtNzc1LDcgKzc3NSw3IEBA CiBbb25lc3RlcD0iIl0pCiBBQ19TVUJTVChvbmVzdGVwKQogCi1BQ1hfUEtH VkVSU0lPTihbZ2ltcGxlLXR1cGxlcy1icmFuY2ggbWVyZ2VkIHdpdGggcmV2 LiAxMzMxNjFdKQorQUNYX1BLR1ZFUlNJT04oW2dpbXBsZS10dXBsZXMtYnJh bmNoIG1lcmdlZCB3aXRoIHJldi4gMTMzMTYyXSkKIEFDWF9CVUdVUkwoW2h0 dHA6Ly9nY2MuZ251Lm9yZy9idWdzLmh0bWxdKQogCiAjIFNhbml0eSBjaGVj ayBlbmFibGVfbGFuZ3VhZ2VzIGluIGNhc2Ugc29tZW9uZSBkb2VzIG5vdCBy dW4gdGhlIHRvcGxldmVsCg== ------=_Part_1550_22729271.1206031522852--