From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 33791 invoked by alias); 6 Jun 2016 21:05:56 -0000 Mailing-List: contact fortran-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: fortran-owner@gcc.gnu.org Received: (qmail 33697 invoked by uid 89); 6 Jun 2016 21:05:56 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.3 required=5.0 tests=BAYES_05,FREEMAIL_FROM,KAM_STOCKGEN,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=no version=3.3.2 spammy=Images, 6000, 1207, 4697 X-Spam-User: qpsmtpd, 2 recipients X-HELO: mail-it0-f48.google.com Received: from mail-it0-f48.google.com (HELO mail-it0-f48.google.com) (209.85.214.48) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Mon, 06 Jun 2016 21:05:45 +0000 Received: by mail-it0-f48.google.com with SMTP id i65so46099647ith.1; Mon, 06 Jun 2016 14:05:45 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=XxLeFHumT1vEvQIWqCNjsPBcL2jAyd7ZC2LDFSXztdM=; b=MZ+bof1fxUd4r3Ui70bRb68r1MifiLRE3i0DXjZ7VXdisB1OlHWZ/FU8Nl+pChDxFQ nJGi4K8+I9+sBILR+z6pPY4S+01/nup7DaXrH3CKo2335ehLbEA7J97J6Ss+VLD0/cyR GysXZsLYJppGoRKJOrkjF9pE5sp84aqZpqX8Ay5aI3od0LvEJMCYWDNGyHOHWZgSXx75 wwETlrOU3vvdllQYambUrma/dL1bG+qoBVN9aY+3ATVYKgG1VHbz6jWnK38xYIHM5DAo fzounwM+u2oTidbyyRmcUtmIcCKjSqEK5AnY+jsJXeyKEaoyE1ZyRVTW81TjzbBH7rgJ IJ3g== X-Gm-Message-State: ALyK8tKAt1balwZJVHBIQnVz1Cbq+hr8K1thOnXfGjOM8v+z66L6QbMsqgoZ9ApHWuYcgjZyYGgzQTKKeM7oWA== X-Received: by 10.36.123.77 with SMTP id q74mr978595itc.44.1465247143643; Mon, 06 Jun 2016 14:05:43 -0700 (PDT) MIME-Version: 1.0 Received: by 10.107.15.27 with HTTP; Mon, 6 Jun 2016 14:05:43 -0700 (PDT) From: Alessandro Fanfarillo Date: Mon, 06 Jun 2016 21:05:00 -0000 Message-ID: Subject: [Fortran, Patch] First patch for coarray FAILED IMAGES (TS 18508) To: gfortran , gcc-patches Content-Type: multipart/mixed; boundary=001a11475b22817e6c0534a26f99 X-IsSubscribed: yes X-SW-Source: 2016-06/txt/msg00019.txt.bz2 --001a11475b22817e6c0534a26f99 Content-Type: text/plain; charset=UTF-8 Content-length: 425 Dear all, please find in attachment the first patch (of n) for the FAILED IMAGES capability defined in the coarray TS 18508. The patch adds support for three new intrinsic functions defined in the TS for simulating a failure (fail image), checking an image status (image_status) and getting the list of failed images (failed_images). The patch has been built and regtested on x86_64-pc-linux-gnu. Ok for trunk? Alessandro --001a11475b22817e6c0534a26f99 Content-Type: text/plain; charset=US-ASCII; name="first_complete_patch.diff" Content-Disposition: attachment; filename="first_complete_patch.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ip4i49v61 Content-length: 26430 Y29tbWl0IGIzYmNhNWIwOWY0Y2JjZjE4ZjI0MDlkYWUyNDg1YTE2YTdjMDY0 OTgKQXV0aG9yOiBBbGVzc2FuZHJvIEZhbmZhcmlsbG8gPGZhbmZhcmlsbG9A aW5nLnVuaXJvbWEyLml0PgpEYXRlOiAgIE1vbiBKdW4gNiAxNDoyNzozNyAy MDE2IC0wNjAwCgogICAgRmlyc3QgcGF0Y2ggRmFpbGVkIEltYWdlcyBDQUYg VFMtMTg1MDgKCmRpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi9jaGVjay5jIGIv Z2NjL2ZvcnRyYW4vY2hlY2suYwppbmRleCBkMjZlNDVlLi43MTkzMWNiIDEw MDY0NAotLS0gYS9nY2MvZm9ydHJhbi9jaGVjay5jCisrKyBiL2djYy9mb3J0 cmFuL2NoZWNrLmMKQEAgLTEyMTAsNiArMTIxMCw2MiBAQCBnZmNfY2hlY2tf ZXZlbnRfcXVlcnkgKGdmY19leHByICpldmVudCwgZ2ZjX2V4cHIgKmNvdW50 LCBnZmNfZXhwciAqc3RhdCkKICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wK K2dmY19jaGVja19pbWFnZV9zdGF0dXMgKGdmY19leHByICppbWFnZSwgZ2Zj X2V4cHIgKnRlYW0pCit7CisgIGlmICghdHlwZV9jaGVjayAoaW1hZ2UsIDEs IEJUX0lOVEVHRVIpKQorICAgIHJldHVybiBmYWxzZTsKKworICBpZih0ZWFt KQorICAgIHsKKyAgICAgIGdmY19lcnJvciAoIlRFQU0gYXJndW1lbnQgb2Yg dGhlIElNQUdFX1NUQVRVUyBpbnRyaW5zaWMgZnVuY3Rpb24gYXQgJUwgIgor CQkgIm5vdCB5ZXQgc3VwcG9ydGVkIiwKKwkJICZ0ZWFtLT53aGVyZSk7Cisg ICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgIGludCBpID0gZ2ZjX3Zh bGlkYXRlX2tpbmQgKEJUX0lOVEVHRVIsIGltYWdlLT50cy5raW5kLCBmYWxz ZSk7CisgIGludCBqID0gZ2ZjX3ZhbGlkYXRlX2tpbmQgKEJUX0lOVEVHRVIs IGdmY19kZWZhdWx0X2ludGVnZXJfa2luZCwgZmFsc2UpOworCisgIGlmIChn ZmNfaW50ZWdlcl9raW5kc1tpXS5yYW5nZSA8IGdmY19pbnRlZ2VyX2tpbmRz W2pdLnJhbmdlKQorICAgIHsKKyAgICAgIGdmY19lcnJvciAoIklNQUdFIGFy Z3VtZW50IG9mIHRoZSBJTUFHRV9TVEFUVVMgaW50cmluc2ljIGZ1bmN0aW9u IGF0ICVMICIKKwkJICJzaGFsbCBoYXZlIGF0IGxlYXN0IHRoZSByYW5nZSBv ZiB0aGUgZGVmYXVsdCBpbnRlZ2VyIiwKKwkJICZpbWFnZS0+d2hlcmUpOwor ICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICByZXR1cm4gdHJ1ZTsK K30KKworYm9vbAorZ2ZjX2NoZWNrX2ZhaWxlZF9pbWFnZXMgKGdmY19leHBy ICp0ZWFtLCBnZmNfZXhwciAqa2luZCkKK3sKKyAgaWYgKHRlYW0pCisgICAg eworICAgICAgZ2ZjX2Vycm9yICgiVEVBTSBhcmd1bWVudCBvZiB0aGUgRkFJ TEVEX0lNQUdFUyBpbnRyaW5zaWMgZnVuY3Rpb24gYXQgJUwgIgorCQkgIm5v dCB5ZXQgc3VwcG9ydGVkIiwKKwkJICZ0ZWFtLT53aGVyZSk7CisgICAgICBy ZXR1cm4gZmFsc2U7CisgICAgfQorCisgIGlmIChraW5kKQorICAgIHsKKyAg ICAgIGludCBpID0gZ2ZjX3ZhbGlkYXRlX2tpbmQgKEJUX0lOVEVHRVIsIGtp bmQtPnRzLmtpbmQsIGZhbHNlKTsKKyAgICAgIGludCBqID0gZ2ZjX3ZhbGlk YXRlX2tpbmQgKEJUX0lOVEVHRVIsIGdmY19kZWZhdWx0X2ludGVnZXJfa2lu ZCwgZmFsc2UpOworCisgICAgICBpZiAoZ2ZjX2ludGVnZXJfa2luZHNbaV0u cmFuZ2UgPCBnZmNfaW50ZWdlcl9raW5kc1tqXS5yYW5nZSkKKwl7CisJICBn ZmNfZXJyb3IgKCJLSU5EIGFyZ3VtZW50IG9mIHRoZSBGQUlMRURfSU1BR0VT IGludHJpbnNpYyBmdW5jdGlvbiBhdCAlTCAiCisJCSAgICAgInNoYWxsIGhh dmUgYXQgbGVhc3QgdGhlIHJhbmdlIG9mIHRoZSBkZWZhdWx0IGludGVnZXIi LAorCQkgICAgICZraW5kLT53aGVyZSk7CisJICByZXR1cm4gZmFsc2U7CisJ fQorICAgIH0KKworICByZXR1cm4gdHJ1ZTsKK30KKwogCiBib29sCiBnZmNf Y2hlY2tfYXRvbWljX2ZldGNoX29wIChnZmNfZXhwciAqYXRvbSwgZ2ZjX2V4 cHIgKnZhbHVlLCBnZmNfZXhwciAqb2xkLApkaWZmIC0tZ2l0IGEvZ2NjL2Zv cnRyYW4vZHVtcC1wYXJzZS10cmVlLmMgYi9nY2MvZm9ydHJhbi9kdW1wLXBh cnNlLXRyZWUuYwppbmRleCBmNTA3NDM0Li40MWVkNjY0IDEwMDY0NAotLS0g YS9nY2MvZm9ydHJhbi9kdW1wLXBhcnNlLXRyZWUuYworKysgYi9nY2MvZm9y dHJhbi9kdW1wLXBhcnNlLXRyZWUuYwpAQCAtMTYyOCw2ICsxNjI4LDkgQEAg c2hvd19jb2RlX25vZGUgKGludCBsZXZlbCwgZ2ZjX2NvZGUgKmMpCiAKICAg ICAgIGJyZWFrOwogCisgICAgY2FzZSBFWEVDX0ZBSUxfSU1BR0U6CisgICAg ICBmcHV0cyAoIkZBSUwgSU1BR0UgIiwgZHVtcGZpbGUpOworCiAgICAgY2Fz ZSBFWEVDX1NZTkNfQUxMOgogICAgICAgZnB1dHMgKCJTWU5DIEFMTCAiLCBk dW1wZmlsZSk7CiAgICAgICBpZiAoYy0+ZXhwcjIgIT0gTlVMTCkKZGlmZiAt LWdpdCBhL2djYy9mb3J0cmFuL2dmb3J0cmFuLmggYi9nY2MvZm9ydHJhbi9n Zm9ydHJhbi5oCmluZGV4IDBiYjcxY2IuLjZkODc2MzIgMTAwNjQ0Ci0tLSBh L2djYy9mb3J0cmFuL2dmb3J0cmFuLmgKKysrIGIvZ2NjL2ZvcnRyYW4vZ2Zv cnRyYW4uaApAQCAtMjUzLDcgKzI1Myw3IEBAIGVudW0gZ2ZjX3N0YXRlbWVu dAogICBTVF9PTVBfRU5EX1RBUkdFVF9URUFNU19ESVNUUklCVVRFX1BBUkFM TEVMX0RPX1NJTUQsCiAgIFNUX1BST0NFRFVSRSwgU1RfR0VORVJJQywgU1Rf Q1JJVElDQUwsIFNUX0VORF9DUklUSUNBTCwKICAgU1RfR0VUX0ZDTl9DSEFS QUNURVJJU1RJQ1MsIFNUX0xPQ0ssIFNUX1VOTE9DSywgU1RfRVZFTlRfUE9T VCwKLSAgU1RfRVZFTlRfV0FJVCxTVF9OT05FCisgIFNUX0VWRU5UX1dBSVQs U1RfRkFJTF9JTUFHRSxTVF9OT05FCiB9OwogCiAvKiBUeXBlcyBvZiBpbnRl cmZhY2VzIHRoYXQgd2UgY2FuIGhhdmUuICBBc3NpZ25tZW50IGludGVyZmFj ZXMgYXJlCkBAIC00MTEsNiArNDExLDcgQEAgZW51bSBnZmNfaXN5bV9pZAog ICBHRkNfSVNZTV9FWFAsCiAgIEdGQ19JU1lNX0VYUE9ORU5ULAogICBHRkNf SVNZTV9FWFRFTkRTX1RZUEVfT0YsCisgIEdGQ19JU1lNX0ZBSUxFRF9JTUFH RVMsCiAgIEdGQ19JU1lNX0ZEQVRFLAogICBHRkNfSVNZTV9GRV9SVU5USU1F X0VSUk9SLAogICBHRkNfSVNZTV9GR0VULApAQCAtNDU0LDYgKzQ1NSw3IEBA IGVudW0gZ2ZjX2lzeW1faWQKICAgR0ZDX0lTWU1fSUVPUiwKICAgR0ZDX0lT WU1fSUVSUk5PLAogICBHRkNfSVNZTV9JTUFHRV9JTkRFWCwKKyAgR0ZDX0lT WU1fSU1BR0VfU1RBVFVTLAogICBHRkNfSVNZTV9JTkRFWCwKICAgR0ZDX0lT WU1fSU5ULAogICBHRkNfSVNZTV9JTlQyLApAQCAtMjM4Miw3ICsyMzg0LDcg QEAgZW51bSBnZmNfZXhlY19vcAogICBFWEVDX09QRU4sIEVYRUNfQ0xPU0Us IEVYRUNfV0FJVCwKICAgRVhFQ19SRUFELCBFWEVDX1dSSVRFLCBFWEVDX0lP TEVOR1RILCBFWEVDX1RSQU5TRkVSLCBFWEVDX0RUX0VORCwKICAgRVhFQ19C QUNLU1BBQ0UsIEVYRUNfRU5ERklMRSwgRVhFQ19JTlFVSVJFLCBFWEVDX1JF V0lORCwgRVhFQ19GTFVTSCwKLSAgRVhFQ19MT0NLLCBFWEVDX1VOTE9DSywg RVhFQ19FVkVOVF9QT1NULCBFWEVDX0VWRU5UX1dBSVQsCisgIEVYRUNfTE9D SywgRVhFQ19VTkxPQ0ssIEVYRUNfRVZFTlRfUE9TVCwgRVhFQ19FVkVOVF9X QUlULCBFWEVDX0ZBSUxfSU1BR0UsCiAgIEVYRUNfT0FDQ19LRVJORUxTX0xP T1AsIEVYRUNfT0FDQ19QQVJBTExFTF9MT09QLCBFWEVDX09BQ0NfUk9VVElO RSwKICAgRVhFQ19PQUNDX1BBUkFMTEVMLCBFWEVDX09BQ0NfS0VSTkVMUywg RVhFQ19PQUNDX0RBVEEsIEVYRUNfT0FDQ19IT1NUX0RBVEEsCiAgIEVYRUNf T0FDQ19MT09QLCBFWEVDX09BQ0NfVVBEQVRFLCBFWEVDX09BQ0NfV0FJVCwg RVhFQ19PQUNDX0NBQ0hFLApkaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vaW50 cmluc2ljLmMgYi9nY2MvZm9ydHJhbi9pbnRyaW5zaWMuYwppbmRleCAxZDc1 MDNkLi44ZGZiNTY4IDEwMDY0NAotLS0gYS9nY2MvZm9ydHJhbi9pbnRyaW5z aWMuYworKysgYi9nY2MvZm9ydHJhbi9pbnRyaW5zaWMuYwpAQCAtMTgyMyw2 ICsxODIzLDEwIEBAIGFkZF9mdW5jdGlvbnMgKHZvaWQpCiAJICAgICBhLCBC VF9VTktOT1dOLCAwLCBSRVFVSVJFRCwKIAkgICAgIG1vLCBCVF9VTktOT1dO LCAwLCBSRVFVSVJFRCk7CiAKKyAgYWRkX3N5bV8yICgiZmFpbGVkX2ltYWdl cyIsIEdGQ19JU1lNX0ZBSUxFRF9JTUFHRVMsIENMQVNTX1RSQU5TRk9STUFU SU9OQUwsIEFDVFVBTF9OTywgQlRfSU5URUdFUiwKKwkgICAgIGRkLCBHRkNf U1REX0YyMDA4X1RTLCBnZmNfY2hlY2tfZmFpbGVkX2ltYWdlcywgTlVMTCwK KwkgICAgIGdmY19yZXNvbHZlX2ZhaWxlZF9pbWFnZXMsICJ0ZWFtIiwgQlRf SU5URUdFUiwgZGksIE9QVElPTkFMLCAia2luZCIsIEJUX0lOVEVHRVIsIGRp LCBPUFRJT05BTCk7CisKICAgYWRkX3N5bV8wICgiZmRhdGUiLCAgR0ZDX0lT WU1fRkRBVEUsIENMQVNTX0lNUFVSRSwgQUNUVUFMX05PLCBCVF9DSEFSQUNU RVIsCiAJICAgICBkYywgR0ZDX1NURF9HTlUsIE5VTEwsIE5VTEwsIGdmY19y ZXNvbHZlX2ZkYXRlKTsKIApAQCAtMjAyMyw3ICsyMDI3LDExIEBAIGFkZF9m dW5jdGlvbnMgKHZvaWQpCiAgIGFkZF9zeW1fMiAoImltYWdlX2luZGV4Iiwg R0ZDX0lTWU1fSU1BR0VfSU5ERVgsIENMQVNTX0lOUVVJUlksIEFDVFVBTF9O TywgQlRfSU5URUdFUiwgZGksIEdGQ19TVERfRjIwMDgsCiAJICAgICBnZmNf Y2hlY2tfaW1hZ2VfaW5kZXgsIGdmY19zaW1wbGlmeV9pbWFnZV9pbmRleCwg Z2ZjX3Jlc29sdmVfaW1hZ2VfaW5kZXgsCiAJICAgICBjYSwgQlRfUkVBTCwg ZHIsIFJFUVVJUkVELCBzdWIsIEJUX0lOVEVHRVIsIGlpLCBSRVFVSVJFRCk7 Ci0KKworICBhZGRfc3ltXzIgKCJpbWFnZV9zdGF0dXMiLCBHRkNfSVNZTV9J TUFHRV9TVEFUVVMsIENMQVNTX0VMRU1FTlRBTCwgQUNUVUFMX1lFUywgQlRf SU5URUdFUiwKKwkgICAgIGRpLCBHRkNfU1REX0YyMDA4X1RTLCBnZmNfY2hl Y2tfaW1hZ2Vfc3RhdHVzLCBOVUxMLAorCSAgICAgZ2ZjX3Jlc29sdmVfaW1h Z2Vfc3RhdHVzLCAiaW1hZ2UiLCBCVF9JTlRFR0VSLCBkaSwgUkVRVUlSRUQs ICJ0ZWFtIiwgQlRfSU5URUdFUiwgZGksIE9QVElPTkFMKTsKKwogICAvKiBU aGUgcmVzb2x1dGlvbiBmdW5jdGlvbiBmb3IgSU5ERVggaXMgY2FsbGVkIGdm Y19yZXNvbHZlX2luZGV4X2Z1bmMKICAgICAgYmVjYXVzZSB0aGUgbmFtZSBn ZmNfcmVzb2x2ZV9pbmRleCBpcyBhbHJlYWR5IHVzZWQgaW4gcmVzb2x2ZS5j LiAgKi8KICAgYWRkX3N5bV80ICgiaW5kZXgiLCBHRkNfSVNZTV9JTkRFWCwg Q0xBU1NfRUxFTUVOVEFMLCBBQ1RVQUxfWUVTLApAQCAtMzE3MCw3ICszMTc4 LDcgQEAgYWRkX3N1YnJvdXRpbmVzICh2b2lkKQogCSAgICAgICJldmVudCIs IEJUX0lOVEVHRVIsIGRpLCBSRVFVSVJFRCwgSU5URU5UX0lOLAogCSAgICAg IGMsIEJUX0lOVEVHRVIsIGRpLCBPUFRJT05BTCwgSU5URU5UX0lOLAogCSAg ICAgIHN0YXQsIEJUX0lOVEVHRVIsIGRpLCBPUFRJT05BTCwgSU5URU5UX09V VCk7Ci0KKwogICAvKiBNb3JlIEc3NyBjb21wYXRpYmlsaXR5IGdhcmJhZ2Uu ICAqLwogICBhZGRfc3ltXzJzICgiY3RpbWUiLCBHRkNfSVNZTV9DVElNRSwg Q0xBU1NfSU1QVVJFLCBCVF9VTktOT1dOLCAwLCBHRkNfU1REX0dOVSwKIAkg ICAgICBnZmNfY2hlY2tfY3RpbWVfc3ViLCBOVUxMLCBnZmNfcmVzb2x2ZV9j dGltZV9zdWIsCmRpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi9pbnRyaW5zaWMu aCBiL2djYy9mb3J0cmFuL2ludHJpbnNpYy5oCmluZGV4IGYyMjg5NzYuLmJi NDliN2QgMTAwNjQ0Ci0tLSBhL2djYy9mb3J0cmFuL2ludHJpbnNpYy5oCisr KyBiL2djYy9mb3J0cmFuL2ludHJpbnNpYy5oCkBAIC03MSw2ICs3MSw3IEBA IGJvb2wgZ2ZjX2NoZWNrX2RzaGlmdCAoZ2ZjX2V4cHIgKiwgZ2ZjX2V4cHIg KiwgZ2ZjX2V4cHIgKik7CiBib29sIGdmY19jaGVja19lb3NoaWZ0IChnZmNf ZXhwciAqLCBnZmNfZXhwciAqLCBnZmNfZXhwciAqLCBnZmNfZXhwciAqKTsK IGJvb2wgZ2ZjX2NoZWNrX2R0aW1lX2V0aW1lIChnZmNfZXhwciAqKTsKIGJv b2wgZ2ZjX2NoZWNrX2V2ZW50X3F1ZXJ5IChnZmNfZXhwciAqLCBnZmNfZXhw ciAqLCBnZmNfZXhwciAqKTsKK2Jvb2wgZ2ZjX2NoZWNrX2ZhaWxlZF9pbWFn ZXMgKGdmY19leHByICosIGdmY19leHByICopOwogYm9vbCBnZmNfY2hlY2tf ZmdldHB1dGMgKGdmY19leHByICosIGdmY19leHByICopOwogYm9vbCBnZmNf Y2hlY2tfZmdldHB1dCAoZ2ZjX2V4cHIgKik7CiBib29sIGdmY19jaGVja19m bG9hdCAoZ2ZjX2V4cHIgKik7CkBAIC05Miw2ICs5Myw3IEBAIGJvb2wgZ2Zj X2NoZWNrX2liaXRzIChnZmNfZXhwciAqLCBnZmNfZXhwciAqLCBnZmNfZXhw ciAqKTsKIGJvb2wgZ2ZjX2NoZWNrX2ljaGFyX2lhY2hhciAoZ2ZjX2V4cHIg KiwgZ2ZjX2V4cHIgKik7CiBib29sIGdmY19jaGVja19pZG5pbnQgKGdmY19l eHByICopOwogYm9vbCBnZmNfY2hlY2tfaWVvciAoZ2ZjX2V4cHIgKiwgZ2Zj X2V4cHIgKik7Citib29sIGdmY19jaGVja19pbWFnZV9zdGF0dXMgKGdmY19l eHByICosIGdmY19leHByICopOwogYm9vbCBnZmNfY2hlY2tfaW5kZXggKGdm Y19leHByICosIGdmY19leHByICosIGdmY19leHByICosIGdmY19leHByICop OwogYm9vbCBnZmNfY2hlY2tfaW50IChnZmNfZXhwciAqLCBnZmNfZXhwciAq KTsKIGJvb2wgZ2ZjX2NoZWNrX2ludGNvbnYgKGdmY19leHByICopOwpAQCAt NDY3LDYgKzQ2OSw3IEBAIHZvaWQgZ2ZjX3Jlc29sdmVfZXZlbnRfcXVlcnkg KGdmY19jb2RlICopOwogdm9pZCBnZmNfcmVzb2x2ZV9leHAgKGdmY19leHBy ICosIGdmY19leHByICopOwogdm9pZCBnZmNfcmVzb2x2ZV9leHBvbmVudCAo Z2ZjX2V4cHIgKiwgZ2ZjX2V4cHIgKik7CiB2b2lkIGdmY19yZXNvbHZlX2V4 dGVuZHNfdHlwZV9vZiAoZ2ZjX2V4cHIgKiwgZ2ZjX2V4cHIgKiwgZ2ZjX2V4 cHIgKik7Cit2b2lkIGdmY19yZXNvbHZlX2ZhaWxlZF9pbWFnZXMgKGdmY19l eHByICosIGdmY19leHByICosIGdmY19leHByICopOwogdm9pZCBnZmNfcmVz b2x2ZV9mZGF0ZSAoZ2ZjX2V4cHIgKik7CiB2b2lkIGdmY19yZXNvbHZlX2Zs b29yIChnZmNfZXhwciAqLCBnZmNfZXhwciAqLCBnZmNfZXhwciAqKTsKIHZv aWQgZ2ZjX3Jlc29sdmVfZm51bSAoZ2ZjX2V4cHIgKiwgZ2ZjX2V4cHIgKik7 CkBAIC00OTAsNiArNDkzLDcgQEAgdm9pZCBnZmNfcmVzb2x2ZV9pYmNsciAo Z2ZjX2V4cHIgKiwgZ2ZjX2V4cHIgKiwgZ2ZjX2V4cHIgKik7CiB2b2lkIGdm Y19yZXNvbHZlX2liaXRzIChnZmNfZXhwciAqLCBnZmNfZXhwciAqLCBnZmNf ZXhwciAqLCBnZmNfZXhwciAqKTsKIHZvaWQgZ2ZjX3Jlc29sdmVfaWJzZXQg KGdmY19leHByICosIGdmY19leHByICosIGdmY19leHByICopOwogdm9pZCBn ZmNfcmVzb2x2ZV9pbWFnZV9pbmRleCAoZ2ZjX2V4cHIgKiwgZ2ZjX2V4cHIg KiwgZ2ZjX2V4cHIgKik7Cit2b2lkIGdmY19yZXNvbHZlX2ltYWdlX3N0YXR1 cyAoZ2ZjX2V4cHIgKiwgZ2ZjX2V4cHIgKiwgZ2ZjX2V4cHIgKik7CiB2b2lk IGdmY19yZXNvbHZlX2luZGV4X2Z1bmMgKGdmY19leHByICosIGdmY19leHBy ICosIGdmY19leHByICosIGdmY19leHByICosCiAJCQkgICAgIGdmY19leHBy ICopOwogdm9pZCBnZmNfcmVzb2x2ZV9pZXJybm8gKGdmY19leHByICopOwpk aWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vaXJlc29sdmUuYyBiL2djYy9mb3J0 cmFuL2lyZXNvbHZlLmMKaW5kZXggZWNlYTFjMy4uY2U1OWM2NiAxMDA2NDQK LS0tIGEvZ2NjL2ZvcnRyYW4vaXJlc29sdmUuYworKysgYi9nY2MvZm9ydHJh bi9pcmVzb2x2ZS5jCkBAIC0yNTc3LDYgKzI1NzcsMjYgQEAgZ2ZjX3Jlc29s dmVfdGFuaCAoZ2ZjX2V4cHIgKmYsIGdmY19leHByICp4KQogICAgID0gZ2Zj X2dldF9zdHJpbmcgKCJfX3RhbmhfJWMlZCIsIGdmY190eXBlX2xldHRlciAo eC0+dHMudHlwZSksIHgtPnRzLmtpbmQpOwogfQogCit2b2lkCitnZmNfcmVz b2x2ZV9mYWlsZWRfaW1hZ2VzIChnZmNfZXhwciAqZiwgZ2ZjX2V4cHIgKnRl YW0gQVRUUklCVVRFX1VOVVNFRCwKKwkJCSAgIGdmY19leHByICpraW5kIEFU VFJJQlVURV9VTlVTRUQpCit7CisgIHN0YXRpYyBjaGFyIGZhaWxlZF9pbWFn ZXNbXSA9ICJfZ2ZvcnRyYW5fY2FmX2ZhaWxlZF9pbWFnZXMiOworICBmLT5y YW5rID0gMTsKKyAgZi0+dHMudHlwZSA9IEJUX0lOVEVHRVI7CisgIGYtPnRz LmtpbmQgPSBnZmNfZGVmYXVsdF9pbnRlZ2VyX2tpbmQ7CisgIGYtPnZhbHVl LmZ1bmN0aW9uLm5hbWUgPSBmYWlsZWRfaW1hZ2VzOworfQorCit2b2lkCitn ZmNfcmVzb2x2ZV9pbWFnZV9zdGF0dXMgKGdmY19leHByICpmLCBnZmNfZXhw ciAqaW1hZ2UsIGdmY19leHByICp0ZWFtIEFUVFJJQlVURV9VTlVTRUQpCit7 CisgIHN0YXRpYyBjaGFyIGltYWdlX3N0YXR1c1tdID0gImltYWdlX3N0YXR1 cyI7CisgIGYtPnRzLnR5cGUgPSBCVF9JTlRFR0VSOworICBmLT50cy5raW5k ID0gZ2ZjX2RlZmF1bHRfaW50ZWdlcl9raW5kOworICBmLT50cyA9IGltYWdl LT50czsKKyAgZi0+dmFsdWUuZnVuY3Rpb24ubmFtZSA9IGltYWdlX3N0YXR1 czsKK30KIAogdm9pZAogZ2ZjX3Jlc29sdmVfaW1hZ2VfaW5kZXggKGdmY19l eHByICpmLCBnZmNfZXhwciAqYXJyYXkgQVRUUklCVVRFX1VOVVNFRCwKZGlm ZiAtLWdpdCBhL2djYy9mb3J0cmFuL2xpYmdmb3J0cmFuLmggYi9nY2MvZm9y dHJhbi9saWJnZm9ydHJhbi5oCmluZGV4IGU5MTMyNTAuLmYwMGVkODMgMTAw NjQ0Ci0tLSBhL2djYy9mb3J0cmFuL2xpYmdmb3J0cmFuLmgKKysrIGIvZ2Nj L2ZvcnRyYW4vbGliZ2ZvcnRyYW4uaApAQCAtMTIzLDcgKzEyMyw3IEBAIHR5 cGVkZWYgZW51bQogICBHRkNfU1RBVF9MT0NLRUQsCiAgIEdGQ19TVEFUX0xP Q0tFRF9PVEhFUl9JTUFHRSwKICAgR0ZDX1NUQVRfU1RPUFBFRF9JTUFHRSA9 IDYwMDAsIC8qIFNlZSBMSUJFUlJPUl9JTlFVSVJFX0lOVEVSTkFMX1VOSVQg YWJvdmUuICovCi0gIEdGQ19TVEFUX0ZBSUxFRF9JTUFHRQorICBHRkNfU1RB VF9GQUlMRURfSU1BR0UgPSA2MDAxCiB9CiBsaWJnZm9ydHJhbl9zdGF0X2Nv ZGVzOwogCmRpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi9tYXRjaC5jIGIvZ2Nj L2ZvcnRyYW4vbWF0Y2guYwppbmRleCBmM2E0YTQzLi45ZjUxOWZmIDEwMDY0 NAotLS0gYS9nY2MvZm9ydHJhbi9tYXRjaC5jCisrKyBiL2djYy9mb3J0cmFu L21hdGNoLmMKQEAgLTE1OTQsNiArMTU5NCw3IEBAIGdmY19tYXRjaF9pZiAo Z2ZjX3N0YXRlbWVudCAqaWZfdHlwZSkKICAgbWF0Y2ggKCJldmVudCBwb3N0 IiwgZ2ZjX21hdGNoX2V2ZW50X3Bvc3QsIFNUX0VWRU5UX1BPU1QpCiAgIG1h dGNoICgiZXZlbnQgd2FpdCIsIGdmY19tYXRjaF9ldmVudF93YWl0LCBTVF9F VkVOVF9XQUlUKQogICBtYXRjaCAoImV4aXQiLCBnZmNfbWF0Y2hfZXhpdCwg U1RfRVhJVCkKKyAgbWF0Y2ggKCJmYWlsIGltYWdlIiwgZ2ZjX21hdGNoX2Zh aWxfaW1hZ2UsIFNUX0ZBSUxfSU1BR0UpCiAgIG1hdGNoICgiZmx1c2giLCBn ZmNfbWF0Y2hfZmx1c2gsIFNUX0ZMVVNIKQogICBtYXRjaCAoImZvcmFsbCIs IG1hdGNoX3NpbXBsZV9mb3JhbGwsIFNUX0ZPUkFMTCkKICAgbWF0Y2ggKCJn byB0byIsIGdmY19tYXRjaF9nb3RvLCBTVF9HT1RPKQpAQCAtMzA3Myw2ICsz MDc0LDQxIEBAIGdmY19tYXRjaF9ldmVudF93YWl0ICh2b2lkKQogICByZXR1 cm4gZXZlbnRfc3RhdGVtZW50IChTVF9FVkVOVF9XQUlUKTsKIH0KIAorLyog TWF0Y2ggYSBGQUlsIElNQUdFIHN0YXRlbWVudCAqLworCitzdGF0aWMgbWF0 Y2gKK2ZhaWxfaW1hZ2Vfc3RhdGVtZW50IChnZmNfc3RhdGVtZW50IHN0KQor eyAKKyAgaWYgKGZsYWdfY29hcnJheSA9PSBHRkNfRkNPQVJSQVlfTk9ORSkK KyAgICB7CisgICAgICBnZmNfZmF0YWxfZXJyb3IgKCJDb2FycmF5cyBkaXNh YmxlZCBhdCAlQywgdXNlICU8LWZjb2FycmF5PSU+IHRvIGVuYWJsZSIpOwor ICAgICAgcmV0dXJuIE1BVENIX0VSUk9SOworICAgIH0KKworICBpZiAoZ2Zj X21hdGNoX2NoYXIgKCcoJykgPT0gTUFUQ0hfWUVTKQorICAgIGdvdG8gc3lu dGF4OworCisgIGlmKHN0ID09IFNUX0ZBSUxfSU1BR0UpCisgICAgbmV3X3N0 Lm9wID0gRVhFQ19GQUlMX0lNQUdFOworICBlbHNlCisgICAgZ2NjX3VucmVh Y2hhYmxlKCk7CisKKyAgcmV0dXJuIE1BVENIX1lFUzsKKworIHN5bnRheDoK KyAgZ2ZjX3N5bnRheF9lcnJvciAoc3QpOworCisgIHJldHVybiBNQVRDSF9F UlJPUjsKK30KKworbWF0Y2gKK2dmY19tYXRjaF9mYWlsX2ltYWdlICh2b2lk KQoreworICAvKiBpZiAoIWdmY19ub3RpZnlfc3RkIChHRkNfU1REX0YyMDA4 X1RTLCAiRkFJTCBJTUFHRSBzdGF0ZW1lbnQgYXQgJUMiKSkgKi8KKyAgLyog ICByZXR1cm4gTUFUQ0hfRVJST1I7ICovCisKKyAgcmV0dXJuIGZhaWxfaW1h Z2Vfc3RhdGVtZW50IChTVF9GQUlMX0lNQUdFKTsKK30KIAogLyogTWF0Y2gg TE9DSy9VTkxPQ0sgc3RhdGVtZW50LiBTeW50YXg6CiAgICAgIExPQ0sgKCBs b2NrLXZhcmlhYmxlIFsgLCBsb2NrLXN0YXQtbGlzdCBdICkKZGlmZiAtLWdp dCBhL2djYy9mb3J0cmFuL21hdGNoLmggYi9nY2MvZm9ydHJhbi9tYXRjaC5o CmluZGV4IDM0OGNhNzAuLjRlNGI4MzMgMTAwNjQ0Ci0tLSBhL2djYy9mb3J0 cmFuL21hdGNoLmgKKysrIGIvZ2NjL2ZvcnRyYW4vbWF0Y2guaApAQCAtNzIs NiArNzIsNyBAQCBtYXRjaCBnZmNfbWF0Y2hfZWxzZSAodm9pZCk7CiBtYXRj aCBnZmNfbWF0Y2hfZWxzZWlmICh2b2lkKTsKIG1hdGNoIGdmY19tYXRjaF9l dmVudF9wb3N0ICh2b2lkKTsKIG1hdGNoIGdmY19tYXRjaF9ldmVudF93YWl0 ICh2b2lkKTsKK21hdGNoIGdmY19tYXRjaF9mYWlsX2ltYWdlICh2b2lkKTsK IG1hdGNoIGdmY19tYXRjaF9jcml0aWNhbCAodm9pZCk7CiBtYXRjaCBnZmNf bWF0Y2hfYmxvY2sgKHZvaWQpOwogbWF0Y2ggZ2ZjX21hdGNoX2Fzc29jaWF0 ZSAodm9pZCk7CmRpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi9wYXJzZS5jIGIv Z2NjL2ZvcnRyYW4vcGFyc2UuYwppbmRleCAxMDgxYjJlLi4zNjU5ZDhhIDEw MDY0NAotLS0gYS9nY2MvZm9ydHJhbi9wYXJzZS5jCisrKyBiL2djYy9mb3J0 cmFuL3BhcnNlLmMKQEAgLTQ4Myw2ICs0ODMsNyBAQCBkZWNvZGVfc3RhdGVt ZW50ICh2b2lkKQogICAgICAgYnJlYWs7CiAKICAgICBjYXNlICdmJzoKKyAg ICAgIG1hdGNoICgiZmFpbCBpbWFnZSIsIGdmY19tYXRjaF9mYWlsX2ltYWdl LCBTVF9GQUlMX0lNQUdFKTsKICAgICAgIG1hdGNoICgiZmluYWwiLCBnZmNf bWF0Y2hfZmluYWxfZGVjbCwgU1RfRklOQUwpOwogICAgICAgbWF0Y2ggKCJm bHVzaCIsIGdmY19tYXRjaF9mbHVzaCwgU1RfRkxVU0gpOwogICAgICAgbWF0 Y2ggKCJmb3JtYXQiLCBnZmNfbWF0Y2hfZm9ybWF0LCBTVF9GT1JNQVQpOwpA QCAtMTM1NCw3ICsxMzU1LDcgQEAgbmV4dF9zdGF0ZW1lbnQgKHZvaWQpCiAg IGNhc2UgU1RfT01QX0NBTkNFTDogY2FzZSBTVF9PTVBfQ0FOQ0VMTEFUSU9O X1BPSU5UOiBcCiAgIGNhc2UgU1RfT01QX1RBUkdFVF9VUERBVEU6IGNhc2Ug U1RfRVJST1JfU1RPUDogY2FzZSBTVF9TWU5DX0FMTDogXAogICBjYXNlIFNU X1NZTkNfSU1BR0VTOiBjYXNlIFNUX1NZTkNfTUVNT1JZOiBjYXNlIFNUX0xP Q0s6IGNhc2UgU1RfVU5MT0NLOiBcCi0gIGNhc2UgU1RfRVZFTlRfUE9TVDog Y2FzZSBTVF9FVkVOVF9XQUlUOiBcCisgIGNhc2UgU1RfRVZFTlRfUE9TVDog Y2FzZSBTVF9FVkVOVF9XQUlUOiBjYXNlIFNUX0ZBSUxfSU1BR0U6IFwKICAg Y2FzZSBTVF9PQUNDX1VQREFURTogY2FzZSBTVF9PQUNDX1dBSVQ6IGNhc2Ug U1RfT0FDQ19DQUNIRTogXAogICBjYXNlIFNUX09BQ0NfRU5URVJfREFUQTog Y2FzZSBTVF9PQUNDX0VYSVRfREFUQQogCkBAIC0xNjgwLDYgKzE2ODEsOSBA QCBnZmNfYXNjaWlfc3RhdGVtZW50IChnZmNfc3RhdGVtZW50IHN0KQogICAg IGNhc2UgU1RfRVZFTlRfV0FJVDoKICAgICAgIHAgPSAiRVZFTlQgV0FJVCI7 CiAgICAgICBicmVhazsKKyAgICBjYXNlIFNUX0ZBSUxfSU1BR0U6CisgICAg ICBwID0gIkZBSUwgSU1BR0UiOworICAgICAgYnJlYWs7CiAgICAgY2FzZSBT VF9FTkRfQVNTT0NJQVRFOgogICAgICAgcCA9ICJFTkQgQVNTT0NJQVRFIjsK ICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vcmVzb2x2 ZS5jIGIvZ2NjL2ZvcnRyYW4vcmVzb2x2ZS5jCmluZGV4IDc3ZjhjMTAuLmY1 NmJkZjEgMTAwNjQ0Ci0tLSBhL2djYy9mb3J0cmFuL3Jlc29sdmUuYworKysg Yi9nY2MvZm9ydHJhbi9yZXNvbHZlLmMKQEAgLTg3NDksNiArODc0OSwxMSBA QCBmaW5kX3JlYWNoYWJsZV9sYWJlbHMgKGdmY19jb2RlICpibG9jaykKICAg ICB9CiB9CiAKK3N0YXRpYyB2b2lkCityZXNvbHZlX2ZhaWxfaW1hZ2UgKGdm Y19jb2RlICpjb2RlIEFUVFJJQlVURV9VTlVTRUQpCit7CisgIHJldHVybjsK K30KIAogc3RhdGljIHZvaWQKIHJlc29sdmVfbG9ja191bmxvY2tfZXZlbnQg KGdmY19jb2RlICpjb2RlKQpAQCAtMTA0NzksNiArMTA0ODQsMTAgQEAgc3Rh cnQ6CiAJICByZXNvbHZlX2xvY2tfdW5sb2NrX2V2ZW50IChjb2RlKTsKIAkg IGJyZWFrOwogCisJY2FzZSBFWEVDX0ZBSUxfSU1BR0U6CisJICByZXNvbHZl X2ZhaWxfaW1hZ2UgKGNvZGUpOworCSAgYnJlYWs7CisKIAljYXNlIEVYRUNf RU5UUlk6CiAJICAvKiBLZWVwIHRyYWNrIG9mIHdoaWNoIGVudHJ5IHdlIGFy ZSB1cCB0by4gICovCiAJICBjdXJyZW50X2VudHJ5X2lkID0gY29kZS0+ZXh0 LmVudHJ5LT5pZDsKZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFuL3N0LmMgYi9n Y2MvZm9ydHJhbi9zdC5jCmluZGV4IDczOTU0OTcuLmIzYTY3MjEgMTAwNjQ0 Ci0tLSBhL2djYy9mb3J0cmFuL3N0LmMKKysrIGIvZ2NjL2ZvcnRyYW4vc3Qu YwpAQCAtMTIwLDYgKzEyMCw3IEBAIGdmY19mcmVlX3N0YXRlbWVudCAoZ2Zj X2NvZGUgKnApCiAgICAgY2FzZSBFWEVDX1VOTE9DSzoKICAgICBjYXNlIEVY RUNfRVZFTlRfUE9TVDoKICAgICBjYXNlIEVYRUNfRVZFTlRfV0FJVDoKKyAg ICBjYXNlIEVYRUNfRkFJTF9JTUFHRToKICAgICAgIGJyZWFrOwogCiAgICAg Y2FzZSBFWEVDX0JMT0NLOgpkaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vdHJh bnMtZGVjbC5jIGIvZ2NjL2ZvcnRyYW4vdHJhbnMtZGVjbC5jCmluZGV4IDJm NWU0MzQuLjdjNTI3NDQgMTAwNjQ0Ci0tLSBhL2djYy9mb3J0cmFuL3RyYW5z LWRlY2wuYworKysgYi9nY2MvZm9ydHJhbi90cmFucy1kZWNsLmMKQEAgLTE1 MSw2ICsxNTEsOSBAQCB0cmVlIGdmb3JfZm5kZWNsX2NhZl91bmxvY2s7CiB0 cmVlIGdmb3JfZm5kZWNsX2NhZl9ldmVudF9wb3N0OwogdHJlZSBnZm9yX2Zu ZGVjbF9jYWZfZXZlbnRfd2FpdDsKIHRyZWUgZ2Zvcl9mbmRlY2xfY2FmX2V2 ZW50X3F1ZXJ5OwordHJlZSBnZm9yX2ZuZGVjbF9jYWZfZmFpbF9pbWFnZTsK K3RyZWUgZ2Zvcl9mbmRlY2xfY2FmX2ZhaWxlZF9pbWFnZXM7Cit0cmVlIGdm b3JfZm5kZWNsX2NhZl9pbWFnZV9zdGF0dXM7CiB0cmVlIGdmb3JfZm5kZWNs X2NvX2Jyb2FkY2FzdDsKIHRyZWUgZ2Zvcl9mbmRlY2xfY29fbWF4OwogdHJl ZSBnZm9yX2ZuZGVjbF9jb19taW47CkBAIC0zNjI4LDYgKzM2MzEsMTggQEAg Z2ZjX2J1aWxkX2J1aWx0aW5fZnVuY3Rpb25fZGVjbHMgKHZvaWQpCiAJdm9p ZF90eXBlX25vZGUsIDUsIHB2b2lkX3R5cGVfbm9kZSwgc2l6ZV90eXBlX25v ZGUsIGludGVnZXJfdHlwZV9ub2RlLAogCXBpbnRfdHlwZSwgcGludF90eXBl KTsKIAorICAgICAgZ2Zvcl9mbmRlY2xfY2FmX2ZhaWxfaW1hZ2UgPSBnZmNf YnVpbGRfbGlicmFyeV9mdW5jdGlvbl9kZWNsX3dpdGhfc3BlYyAoCisJZ2V0 X2lkZW50aWZpZXIgKFBSRUZJWCgiY2FmX2ZhaWxfaW1hZ2UiKSksICJSIiwK Kwl2b2lkX3R5cGVfbm9kZSwgMSwgcHZvaWRfdHlwZV9ub2RlKTsKKworICAg ICAgZ2Zvcl9mbmRlY2xfY2FmX2ZhaWxlZF9pbWFnZXMgPSBnZmNfYnVpbGRf bGlicmFyeV9mdW5jdGlvbl9kZWNsX3dpdGhfc3BlYyAoCisJZ2V0X2lkZW50 aWZpZXIgKFBSRUZJWCgiY2FmX2ZhaWxlZF9pbWFnZXMiKSksICJXUlIiLAor CXB2b2lkX3R5cGVfbm9kZSwgMywgcHZvaWRfdHlwZV9ub2RlLCBpbnRlZ2Vy X3R5cGVfbm9kZSwgaW50ZWdlcl90eXBlX25vZGUpOworCisgICAgICBnZm9y X2ZuZGVjbF9jYWZfaW1hZ2Vfc3RhdHVzID0gZ2ZjX2J1aWxkX2xpYnJhcnlf ZnVuY3Rpb25fZGVjbF93aXRoX3NwZWMgKAorCWdldF9pZGVudGlmaWVyIChQ UkVGSVgoImNhZl9pbWFnZV9zdGF0dXMiKSksICJSUiIsCisJaW50ZWdlcl90 eXBlX25vZGUsIDIsIGludGVnZXJfdHlwZV9ub2RlLCBpbnRlZ2VyX3R5cGVf bm9kZSk7CisKICAgICAgIGdmb3JfZm5kZWNsX2NvX2Jyb2FkY2FzdCA9IGdm Y19idWlsZF9saWJyYXJ5X2Z1bmN0aW9uX2RlY2xfd2l0aF9zcGVjICgKIAln ZXRfaWRlbnRpZmllciAoUFJFRklYKCJjYWZfY29fYnJvYWRjYXN0IikpLCAi Vy5XVyIsCiAJdm9pZF90eXBlX25vZGUsIDUsIHB2b2lkX3R5cGVfbm9kZSwg aW50ZWdlcl90eXBlX25vZGUsCmRpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi90 cmFucy1leHByLmMgYi9nY2MvZm9ydHJhbi90cmFucy1leHByLmMKaW5kZXgg OGY4NDcxMi4uNzBmOTU3NyAxMDA2NDQKLS0tIGEvZ2NjL2ZvcnRyYW4vdHJh bnMtZXhwci5jCisrKyBiL2djYy9mb3J0cmFuL3RyYW5zLWV4cHIuYwpAQCAt NjEzMiwxMCArNjEzMiwxMSBAQCBnZmNfY29udl9wcm9jZWR1cmVfY2FsbCAo Z2ZjX3NlICogc2UsIGdmY19zeW1ib2wgKiBzeW0sCiAgICAgICAgICBjb21w b25lbnRzIG11c3QgaGF2ZSB0aGUgcmVzdWx0IGFsbG9jYXRhYmxlIGNvbXBv bmVudHMgY29waWVkLiAgKi8KICAgICAgIGFyZyA9IGV4cHItPnZhbHVlLmZ1 bmN0aW9uLmFjdHVhbDsKICAgICAgIGlmIChyZXN1bHQgJiYgYXJnICYmIGV4 cHItPnJhbmsKLQkgICAgJiYgZXhwci0+dmFsdWUuZnVuY3Rpb24uaXN5bQot CSAgICAmJiBleHByLT52YWx1ZS5mdW5jdGlvbi5pc3ltLT50cmFuc2Zvcm1h dGlvbmFsCi0JICAgICYmIGFyZy0+ZXhwci0+dHMudHlwZSA9PSBCVF9ERVJJ VkVECi0JICAgICYmIGFyZy0+ZXhwci0+dHMudS5kZXJpdmVkLT5hdHRyLmFs bG9jX2NvbXApCisJICAmJiBleHByLT52YWx1ZS5mdW5jdGlvbi5pc3ltCisJ ICAmJiBleHByLT52YWx1ZS5mdW5jdGlvbi5pc3ltLT50cmFuc2Zvcm1hdGlv bmFsCisJICAmJiBhcmctPmV4cHIKKwkgICYmIGFyZy0+ZXhwci0+dHMudHlw ZSA9PSBCVF9ERVJJVkVECisJICAmJiBhcmctPmV4cHItPnRzLnUuZGVyaXZl ZC0+YXR0ci5hbGxvY19jb21wKQogCXsKIAkgIHRyZWUgdG1wMjsKIAkgIC8q IENvcHkgdGhlIGFsbG9jYXRhYmxlIGNvbXBvbmVudHMuICBXZSBoYXZlIHRv IHVzZSBhCmRpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi90cmFucy1pbnRyaW5z aWMuYyBiL2djYy9mb3J0cmFuL3RyYW5zLWludHJpbnNpYy5jCmluZGV4IDFh YWY0ZTIuLmIyZjU1OTYgMTAwNjQ0Ci0tLSBhL2djYy9mb3J0cmFuL3RyYW5z LWludHJpbnNpYy5jCisrKyBiL2djYy9mb3J0cmFuL3RyYW5zLWludHJpbnNp Yy5jCkBAIC0xNjQ3LDYgKzE2NDcsMjQgQEAgdHJhbnNfdGhpc19pbWFnZSAo Z2ZjX3NlICogc2UsIGdmY19leHByICpleHByKQogCQkJCQkgICAgICAgbSwg bGJvdW5kKSk7CiB9CiAKK3N0YXRpYyB2b2lkCitnZmNfY29udl9pbnRyaW5z aWNfaW1hZ2Vfc3RhdHVzIChnZmNfc2UgKnNlLCBnZmNfZXhwciAqZXhwcikK K3sKKyAgdW5zaWduZWQgaW50IG51bV9hcmdzOworICB0cmVlICphcmdzLHRt cDsKKworICBudW1fYXJncyA9IGdmY19pbnRyaW5zaWNfYXJndW1lbnRfbGlz dF9sZW5ndGggKGV4cHIpOworICBhcmdzID0gWEFMTE9DQVZFQyAodHJlZSwg bnVtX2FyZ3MpOworCisgIGdmY19jb252X2ludHJpbnNpY19mdW5jdGlvbl9h cmdzIChzZSwgZXhwciwgYXJncywgbnVtX2FyZ3MpOworCisgIGlmIChmbGFn X2NvYXJyYXkgPT0gR0ZDX0ZDT0FSUkFZX0xJQikKKyAgICB7CisgICAgICB0 bXAgPSBidWlsZF9jYWxsX2V4cHJfbG9jIChpbnB1dF9sb2NhdGlvbiwgZ2Zv cl9mbmRlY2xfY2FmX2ltYWdlX3N0YXR1cywgMiwKKyAgCQkJCSBhcmdzWzBd LCBidWlsZF9pbnRfY3N0IChpbnRlZ2VyX3R5cGVfbm9kZSwgLTEpKTsKKyAg ICAgIHNlLT5leHByID0gdG1wOworICAgIH0KK30KIAogc3RhdGljIHZvaWQK IHRyYW5zX2ltYWdlX2luZGV4IChnZmNfc2UgKiBzZSwgZ2ZjX2V4cHIgKmV4 cHIpCkBAIC04MzAzLDYgKzgzMjEsMTAgQEAgZ2ZjX2NvbnZfaW50cmluc2lj X2Z1bmN0aW9uIChnZmNfc2UgKiBzZSwgZ2ZjX2V4cHIgKiBleHByKQogICAg ICAgdHJhbnNfaW1hZ2VfaW5kZXggKHNlLCBleHByKTsKICAgICAgIGJyZWFr OwogCisgICAgY2FzZSBHRkNfSVNZTV9JTUFHRV9TVEFUVVM6CisgICAgICBn ZmNfY29udl9pbnRyaW5zaWNfaW1hZ2Vfc3RhdHVzIChzZSwgZXhwcik7Cisg ICAgICBicmVhazsKKwogICAgIGNhc2UgR0ZDX0lTWU1fTlVNX0lNQUdFUzoK ICAgICAgIHRyYW5zX251bV9pbWFnZXMgKHNlLCBleHByKTsKICAgICAgIGJy ZWFrOwpAQCAtODY1MywxMCArODY3NSwxMSBAQCBnZmNfaXNfaW50cmluc2lj X2xpYmNhbGwgKGdmY19leHByICogZXhwcikKICAgICAgIC8qIElnbm9yZSBh YnNlbnQgb3B0aW9uYWwgcGFyYW1ldGVycy4gICovCiAgICAgICByZXR1cm4g MTsKIAotICAgIGNhc2UgR0ZDX0lTWU1fUkVTSEFQRToKICAgICBjYXNlIEdG Q19JU1lNX0NTSElGVDoKICAgICBjYXNlIEdGQ19JU1lNX0VPU0hJRlQ6Cisg ICAgY2FzZSBHRkNfSVNZTV9GQUlMRURfSU1BR0VTOgogICAgIGNhc2UgR0ZD X0lTWU1fUEFDSzoKKyAgICBjYXNlIEdGQ19JU1lNX1JFU0hBUEU6CiAgICAg Y2FzZSBHRkNfSVNZTV9VTlBBQ0s6CiAgICAgICAvKiBQYXNzIGFic2VudCBv cHRpb25hbCBwYXJhbWV0ZXJzLiAgKi8KICAgICAgIHJldHVybiAyOwpkaWZm IC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vdHJhbnMtc3RtdC5jIGIvZ2NjL2ZvcnRy YW4vdHJhbnMtc3RtdC5jCmluZGV4IDdkM2NmOGMuLmNlMGVhZTcgMTAwNjQ0 Ci0tLSBhL2djYy9mb3J0cmFuL3RyYW5zLXN0bXQuYworKysgYi9nY2MvZm9y dHJhbi90cmFucy1zdG10LmMKQEAgLTY3NCw2ICs2NzQsMzEgQEAgZ2ZjX3Ry YW5zX3N0b3AgKGdmY19jb2RlICpjb2RlLCBib29sIGVycm9yX3N0b3ApCiAg IHJldHVybiBnZmNfZmluaXNoX2Jsb2NrICgmc2UucHJlKTsKIH0KIAorLyog VHJhbnNsYXRlIHRoZSBGQUlMIElNQUdFIHN0YXRlbWVudC4gIFdlIGhhdmUg dG8gdHJhbnNsYXRlIHRoaXMgc3RhdGVtZW50CisgICB0byBhIHJ1bnRpbWUg bGlicmFyeSBjYWxsLiAgKi8KKwordHJlZQorZ2ZjX3RyYW5zX2ZhaWxfaW1h Z2UgKGdmY19jb2RlICpjb2RlIEFUVFJJQlVURV9VTlVTRUQpCit7CisgIHRy ZWUgZ2ZjX2ludDRfdHlwZV9ub2RlID0gZ2ZjX2dldF9pbnRfdHlwZSAoNCk7 CisgIGdmY19zZSBzZTsKKyAgdHJlZSB0bXA7CisKKyAgLyogU3RhcnQgYSBu ZXcgYmxvY2sgZm9yIHRoaXMgc3RhdGVtZW50LiAgKi8KKyAgZ2ZjX2luaXRf c2UgKCZzZSwgTlVMTCk7CisgIGdmY19zdGFydF9ibG9jayAoJnNlLnByZSk7 CisKKyAgdG1wID0gYnVpbGRfaW50X2NzdCAoZ2ZjX2ludDRfdHlwZV9ub2Rl LCAwKTsKKyAgdG1wID0gYnVpbGRfY2FsbF9leHByX2xvYyAoaW5wdXRfbG9j YXRpb24sCisJCQkgICAgIGdmb3JfZm5kZWNsX2NhZl9mYWlsX2ltYWdlLCAx LAorCQkJICAgICBidWlsZF9pbnRfY3N0IChwY2hhcl90eXBlX25vZGUsIDAp KTsKKworICBnZmNfYWRkX2V4cHJfdG9fYmxvY2sgKCZzZS5wcmUsIHRtcCk7 CisKKyAgZ2ZjX2FkZF9ibG9ja190b19ibG9jayAoJnNlLnByZSwgJnNlLnBv c3QpOworCisgIHJldHVybiBnZmNfZmluaXNoX2Jsb2NrICgmc2UucHJlKTsK K30KIAogdHJlZQogZ2ZjX3RyYW5zX2xvY2tfdW5sb2NrIChnZmNfY29kZSAq Y29kZSwgZ2ZjX2V4ZWNfb3Agb3ApCmRpZmYgLS1naXQgYS9nY2MvZm9ydHJh bi90cmFucy1zdG10LmggYi9nY2MvZm9ydHJhbi90cmFucy1zdG10LmgKaW5k ZXggZjljOGU3NC4uNGI1YjRmYyAxMDA2NDQKLS0tIGEvZ2NjL2ZvcnRyYW4v dHJhbnMtc3RtdC5oCisrKyBiL2djYy9mb3J0cmFuL3RyYW5zLXN0bXQuaApA QCAtNTYsNiArNTYsNyBAQCB0cmVlIGdmY190cmFuc19zZWxlY3QgKGdmY19j b2RlICopOwogdHJlZSBnZmNfdHJhbnNfc3luYyAoZ2ZjX2NvZGUgKiwgZ2Zj X2V4ZWNfb3ApOwogdHJlZSBnZmNfdHJhbnNfbG9ja191bmxvY2sgKGdmY19j b2RlICosIGdmY19leGVjX29wKTsKIHRyZWUgZ2ZjX3RyYW5zX2V2ZW50X3Bv c3Rfd2FpdCAoZ2ZjX2NvZGUgKiwgZ2ZjX2V4ZWNfb3ApOwordHJlZSBnZmNf dHJhbnNfZmFpbF9pbWFnZSAoZ2ZjX2NvZGUgKik7CiB0cmVlIGdmY190cmFu c19mb3JhbGwgKGdmY19jb2RlICopOwogdHJlZSBnZmNfdHJhbnNfd2hlcmUg KGdmY19jb2RlICopOwogdHJlZSBnZmNfdHJhbnNfYWxsb2NhdGUgKGdmY19j b2RlICopOwpkaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vdHJhbnMuYyBiL2dj Yy9mb3J0cmFuL3RyYW5zLmMKaW5kZXggYzY2ODhkMy4uZGIwYWE0OSAxMDA2 NDQKLS0tIGEvZ2NjL2ZvcnRyYW4vdHJhbnMuYworKysgYi9nY2MvZm9ydHJh bi90cmFucy5jCkBAIC0xODI4LDYgKzE4MjgsMTAgQEAgdHJhbnNfY29kZSAo Z2ZjX2NvZGUgKiBjb2RlLCB0cmVlIGNvbmQpCiAJICByZXMgPSBnZmNfdHJh bnNfZXZlbnRfcG9zdF93YWl0IChjb2RlLCBjb2RlLT5vcCk7CiAJICBicmVh azsKIAorCWNhc2UgRVhFQ19GQUlMX0lNQUdFOgorCSAgcmVzID0gZ2ZjX3Ry YW5zX2ZhaWxfaW1hZ2UgKGNvZGUpOworCSAgYnJlYWs7CisKIAljYXNlIEVY RUNfRk9SQUxMOgogCSAgcmVzID0gZ2ZjX3RyYW5zX2ZvcmFsbCAoY29kZSk7 CiAJICBicmVhazsKZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFuL3RyYW5zLmgg Yi9nY2MvZm9ydHJhbi90cmFucy5oCmluZGV4IDUxMjYxNWEuLmM2YjE0MmYg MTAwNjQ0Ci0tLSBhL2djYy9mb3J0cmFuL3RyYW5zLmgKKysrIGIvZ2NjL2Zv cnRyYW4vdHJhbnMuaApAQCAtNzc2LDYgKzc3Niw5IEBAIGV4dGVybiBHVFko KCkpIHRyZWUgZ2Zvcl9mbmRlY2xfY2FmX3VubG9jazsKIGV4dGVybiBHVFko KCkpIHRyZWUgZ2Zvcl9mbmRlY2xfY2FmX2V2ZW50X3Bvc3Q7CiBleHRlcm4g R1RZKCgpKSB0cmVlIGdmb3JfZm5kZWNsX2NhZl9ldmVudF93YWl0OwogZXh0 ZXJuIEdUWSgoKSkgdHJlZSBnZm9yX2ZuZGVjbF9jYWZfZXZlbnRfcXVlcnk7 CitleHRlcm4gR1RZKCgpKSB0cmVlIGdmb3JfZm5kZWNsX2NhZl9mYWlsX2lt YWdlOworZXh0ZXJuIEdUWSgoKSkgdHJlZSBnZm9yX2ZuZGVjbF9jYWZfZmFp bGVkX2ltYWdlczsKK2V4dGVybiBHVFkoKCkpIHRyZWUgZ2Zvcl9mbmRlY2xf Y2FmX2ltYWdlX3N0YXR1czsKIGV4dGVybiBHVFkoKCkpIHRyZWUgZ2Zvcl9m bmRlY2xfY29fYnJvYWRjYXN0OwogZXh0ZXJuIEdUWSgoKSkgdHJlZSBnZm9y X2ZuZGVjbF9jb19tYXg7CiBleHRlcm4gR1RZKCgpKSB0cmVlIGdmb3JfZm5k ZWNsX2NvX21pbjsK --001a11475b22817e6c0534a26f99 Content-Type: application/octet-stream; name=ChangeLog Content-Disposition: attachment; filename=ChangeLog Content-Transfer-Encoding: base64 X-Attachment-Id: f_ip4i46wc0 Content-length: 2001 MjAxNi0wNi0wNiAgQWxlc3NhbmRybyBGYW5mYXJpbGxvICA8ZmFuZmFyaWxs by5nY2NAZ21haWwuY29tPgoKCSogY2hlY2suYyAoZ2ZjX2NoZWNrX2ltYWdl X3N0YXR1cywgZ2ZjX2NoZWNrX2ZhaWxlZF9pbWFnZXMpOgoJTmV3IGZ1bmN0 aW9ucy4KCSogZHVtcC1wYXJzZS10cmVlLmM6IERlZmluZSBGQUlMIElNQUdF IHN0YXRlbWVudC4KCSogZ2ZvcnRyYW4uaCAoR0ZDX0lTWU1fRkFJTEVEX0lN QUdFUywgR0ZDX0lTWU1fSU1BR0VfU1RBVFVTKQoJKEVYRUNfRkFJTF9JTUFH RSk6IE5ldyBzeW1ib2xzLgoJKiBpbnRyaW5zaWMuYyAoZmFpbGVkX2ltYWdl cywgaW1hZ2Vfc3RhdHVzKTogTmV3IGZ1bmN0aW9ucy4KCSogaW50cmluc2lj LmggKGdmY19jaGVja19mYWlsZWRfaW1hZ2VzLCBnZmNfY2hlY2tfaW1hZ2Vf c3RhdHVzKQoJKGdmY19yZXNvbHZlX2ZhaWxlZF9pbWFnZSwgZ2ZjX3Jlc29s dmVfaW1hZ2Vfc3RhdHVzKTogTmV3IHByb3RvdHlwZXMuCgkqIGlyZXNvbHZl LmMgKGdmY19yZXNvbHZlX2ZhaWxlZF9pbWFnZXMsIGdmY19yZXNvbHZlX2lt YWdlX3N0YXR1cyk6CglOZXcgZnVuY3Rpb25zLgoJKiBsaWJnZm9ydHJhbi5o IChHRkNfU1RBVF9GQUlMRURfSU1BR0VTKTogTmV3IGNvbnN0YW50IHN0YXRf Y29kZS4KCSogbWF0Y2guYyAoZmFpbF9pbWFnZV9zdGF0ZW1lbnQsIGdmY19t YXRjaF9mYWlsX2ltYWdlKTogTmV3IGZ1bmN0aW9ucy4KCSogbWF0Y2guaCAo Z2ZjX21hdGNoX2ZhaWxfaW1hZ2UpOiBOZXcgcHJvdG90eXBlLgoJKiBwYXJz ZS5jIChkZWNvZGVfc3RhdGVtZW50KTogTmV3IG1hdGNoIGNhc2UgZm9yIEZB SUwgSU1BR0UuCgkqIHJlc29sdmUuYyAocmVzb2x2ZV9mYWlsX2ltYWdlKTog TmV3IGZ1bmN0aW9uIGFuZCBjYXNlLgoJKiBzdC5jIChFWEVDX0ZBSUxfSU1B R0UpOiBOZXcgY2FzZS4KCSogdHJhbnMtZGVjbC5jIChjYWZfZmFpbF9pbWFn ZSwgY2FmX2ZhaWxlZF9pbWFnZXMsIGNhZl9pbWFnZV9zdGF0dXMpOgoJTmV3 IGJ1aWx0aW4gZnVuY3Rpb25zIGRlY2xhcmF0aW9uLgoJKiB0cmFucy1leHBy LmMgKGdmY19jb252X3Byb2NlZHVyZV9jYWxsKTogTmV3IGNoZWNrIGZvciBu b24tbnVsbCB2YXJpYWJsZS4KCSogdHJhbnMtaW50cmluc2ljLmMgKGdmY19j b252X2ludHJpbnNpY19pbWFnZV9zdGF0dXMpCgkoR0ZDX0lTWU1fRkFJTEVE X0lNQUdFUyk6IE5ldyBmdW5jdGlvbiBhbmQgY2FzZS4KCSogdHJhbnMtc3Rt dC5jIChnZmNfdHJhbnNfZmFpbF9pbWFnZSk6IE5ldyBmdW5jdGlvbi4KCSog dHJhbnMtc3RtdC5oIChnZmNfdHJhbnNfZmFpbF9pbWFnZSk6IE5ldyBwcm90 b3R5cGUuCgkqIHRyYW5zLmMgKEVYRUNfRkFJTF9JTUFHRSk6IE5ldyBjYXNl LgoJKiB0cmFucy5oIChnZm9yX2ZuZGVjbF9jYWZfZmFpbF9pbWFnZSwgZ2Zv cl9mbmRlY2xfY2FmX2ZhaWxlZF9pbWFnZXMpCgkoZ2Zvcl9mbmRlY2xfY2Fm X2ltYWdlX3N0YXR1cyk6IE5ldyBkZWNsYXJhdGlvbnMuCgo= --001a11475b22817e6c0534a26f99--